RichieZhang2021 @ 2021-12-05 02:58:02
#include <bits/stdc++.h>
using namespace std;
int main() {
string a,b;
int zer=0;
cin>>a;
if(a.length()==1&&a[0]=='0')
cout<<0;//为单数入0输出0
else{
for(long long c=0;c<a.length();c++)
b[a.length()-c-1]=a[c];//直接倒叙
if(a[0]=='-'){//负数分开
cout<<'-';
for(long long d=0;d<a.length()-1;d++)
if(b[d]!='0'||zer==1){//排除最高值为0
zer=1;
cout<<b[d];
}
}
else
for(long long d=0;d<=a.length();d++){
if(b[d]!='0'||zer==1){//排除最高值为0
zer=1;
cout<<b[d];
}
}
return 0;
}
}
求助大佬
by unputdownable @ 2021-12-05 08:21:15
@RichieZhang2021 正数那一块为什么是 d<=a.length()
?
by _QrSn_ @ 2021-12-05 09:01:43
@RichieZhang2021
if(a.length()==1&&a[0]=='0')
cout<<0;//为单数入0输出0
这里其实可以直接输出并且return的,a[0]=='0'
可以改成a[0]!='-'
不过这貌似不是主要错因
by RichieZhang2021 @ 2021-12-05 16:55:05
@unputdownable AC了,谢谢大佬