C语言50分,求助

P1307 [NOIP2011 普及组] 数字反转

mecher @ 2022-11-26 21:30:05


#include<stdio.h>
#include<math.h>
int main(){
    int y,x=0,n,flag=1;
    scanf("%d",&n);
    if(n<0){
        flag=-1;
    }
    n=abs(n);
    do{
       y=n%10;
       x=x*10+y;
       n/=10;
    }
    while(n);
    if(flag=-1){
        x=-x;
    }
    printf("%d",x);
    return 0;
}

by pzy3333333 @ 2022-11-28 19:16:17

可以尝试一下不进行符号处理


by Sunnyyyyk @ 2022-12-01 23:20:05

首先不必使用do-while,其次while里面是n >0而不是n


by xXkivenXx @ 2022-12-11 19:21:34

试试先用if 再用while;别设太多值


|