求大神帮忙解答一下!!谢谢!!

P1307 [NOIP2011 普及组] 数字反转

ppno12 @ 2017-10-13 19:33:54

#include<stdio.h>
int main(){
long a,d=0,n,c[9]={0};//c[10]太大了,有些数字会超过之后加不到那么大,如-927,如果可以这个问题也回答一下。。。//
    scanf("%d",&a);//这里如果输入9*10^8的话循环一开始是没有事的。//
    for(n=1;n<10;n++){
        c[n]=a-a/10*10;
        d=d*10+c[n];//一直到最后一次循环的这里都是没有问题的//
        a=a/10;//结果到这一步的时候c[9]也跟着一起变成0了,明明没有代码,为什么就出现这样的变化了啊,求大佬帮忙解答!!//
}   for(n=9;n>0;n--){
        if(c[n]==0){
            d=d/10;
}       else{
            break;       
}} printf("%d",d);
    return 0;
}

|