P1307 数字反转
1.思路
看到题目中输入和输出的情况,由于可能存在 - 则可以以字符串的形式将整数输入
1.先判定是否存在 -
2.再从后往前把数输出,但也要注意不能输出前导0,也不能输出把所有0都不输出
for(i=len-1;i>=0;i--){
if(a[i]!='0')
break;
}
for(;i>=0;i--)
printf("%c",a[i]);
3.也要注意输入的数为0的情况(不写这个也正确)
if(1==len&&a[0]=='0'){
printf("0");
return 0; //题目中没说也要注意这点
}
2.源码
#include<stdio.h>
#include<string.h>
int main(){
char a[11];
gets(a);
int len=strlen(a);
int i;
if(a[0]=='-'){
printf("-");
for(i=len-1;i>=1;i--){
if(a[i]!='0')
break;
}
for(;i>=1;i--)
printf("%c",a[i]);
}
else{
for(i=len-1;i>=0;i--){
if(a[i]!='0')
break;
}
for(;i>=0;i--)
printf("%c",a[i]);
}
}