[Ybtoj Chapter 6 Example 1] Number Reversal [String]

Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here
Insert picture description here


Problem solving ideas

I would like to mention a water question. .

New knowledge : sscanf sscanfsscanf s p r i n t f sprintf s p r i n t f statement

format:

  1. s s c a n f ( s , " sscanf(s," sscanf(s," %d",&n); convert the string s to the number n
  2. s p r i n t f ( s , " sprintf(s," sprintf(s,"% d " , n ) ; d",n); d",n ) ; convert integer n to string s

Code
(1) Type it yourself

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <iomanip>
#include <cmath>
using namespace std;

bool flag;
char c[20];

int main(){
    
    
	cin>>c;
	if(c[0]=='-')
		printf("-");
	for(int i=strlen(c)-1;i>=0;i--)
	{
    
    
		if(c[i]!='0'&&!flag)
			flag=1;
		if(flag&&c[i]!='-')
			cout<<c[i]; 
	}
}

(2) Standard answer

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <iomanip>
#include <cmath>
using namespace std;

bool flag;
int n;
char c[20],s[20];

int main(){
    
    
	cin>>n;
	sprintf(s,"%d",n);
	for(int i=0;i<strlen(s);i++)
		c[strlen(s)-i-1]=s[i];
	if(n<0)
		printf("-");
	sscanf(c,"%d",&n);
	cout<<n;
}

Guess you like

Origin blog.csdn.net/kejin2019/article/details/113005460