60分求助,哪错了?
查看原帖
60分求助,哪错了?
957205
Frommyvalleyuphard楼主2023/8/15 16:00
#include<iostream>
#include<cstring>
using namespace std;
char a[400];
int main(){
	int o=0,p=0,j=0;
  cin>>a;
	for(int c=0;c<strlen(a);c++){
		if(a[c]!=57){
			p=1;
		}
	}
	j=strlen(a);
	if(p==0){
		for(int d=j-1;d>=0;d--){
			a[d+1]=a[d];
		}
		a[0]=48;
	}
	a[strlen(a)-1]++;
	for(int c=strlen(a)-1;c>=0;c--){
		if(a[c]>57){
			a[c]-=10;
			a[c-1]+=1;
		}
	}
	for(int c=0;c<strlen(a)/2;c++){
		if(a[c]<a[strlen(a)-1-c]){
			o=1;
			break;
		}
	}
	if(o==0){
		for(int c=strlen(a)/2;c<strlen(a);c++){
			a[c]=a[strlen(a)-1-c];
		}
	}else{
		if(int(strlen(a))%2==0){
			a[strlen(a)/2-1]++;
		}else{
			a[strlen(a)/2]++;
		}
		for(int c=strlen(a)/2;c>=0;c--){
			if(a[c]>57){
				a[c]-=10;
				a[c-1]+=1;
			}
		}
		for(int c=strlen(a)/2;c<strlen(a);c++){
			a[c]=a[strlen(a)-1-c];
		}
	}
	cout<<a;
}
2023/8/15 16:00
加载中...