题解 P1307 【数字反转】
此题最重要的地方是(1)单独判断加负号;(2)注意不能用if(a[b]!='0') printf("%c",a[b]);判断,这样会把数字中间的0吞掉!!!
另外,本题似乎没有为0的样例(题目中特地提到了),即使AC了,也需注意。
#include<stdio.h>
#include<string.h>
char a[11]={};
int b;
int main()
{
gets(a);
if(strlen(a)==1&&a[0]=='0') printf("0");
else
{
if(a[0]=='-') {a[0]='\n';printf("-");}
for(b=strlen(a)-1;b>=0;b--)
if(a[b]!='0') break;
for(;b>=0;b--) printf("%c",a[b]);
}
return 0;
}