数的逆序:如何让结尾带0的数逆序后显示,比如输入700,输出007,而不是7?

```
//输入一个正整数,输出逆序的数结尾的0不做处理
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
int x;
int digit;
int r=0;
scanf("%d",&x);
while(x>0){
digit=x%10; //每次循环x的个位数
r=r*10+digit; //逆序
printf("x=%d,digit=%d,r=%d\n",x,digit,r); //调试
x=x/10;
}
printf("%d\n",r);

}

r是int类型,循环后输出就没有前面的0了

取模后余数乘10,序数为0自动就没有了。

因为r是int整数数值,数值的前面不可能有0。

x700
digit第一次循环是0, x的个位数
r=r*10+digit; r初始为0,r=0*10+0, 结果r还是0
digit第二次循环也是0, x的十位数
r=0*10+0, 结果r还是0
digit第三次循环是7, x的百位数
r=0*10+7, 结果r就是7

如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮

你这样不会有0啊