利用C语言实现数字倒序输出
·
1.问题
利用C语言实现将一个数字倒着按顺序输出来,例如2546输出6452.
2.解析
可以将一个数a在循环中进行模运算,每次模10,得到最后一位数,然后将这个数输出,在将这个数a除以10,进行下一次模运算,直到这个数a/10等于0然后结束。
3.程序代码
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
int d;
while(x>0){
d=x%10;
if(d==0){
printf("0");
x=x/10;
continue;
}
else{
printf("%d",d);
}
x/=10;
}
return 0;
}
也可以利用下面这个式子将每次模10 的结果放入一个变量,并每次循环将变量乘10,使位数每次高一位。
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
int digit;
int ret = 0;
while(x>0)
{
digit = x%10;
ret=ret*10+digit;
printf("x=%d,digit=%d,ret=%d\n",x,digit,ret);
x/=10;
}
printf("%d ", ret);
return 0 ;
}
/*这个程序的缺陷是不能输出最后的0,例如3320,会输出233,
会省略掉一个末尾的0,也可以跟上面程序一样直接输出每次模10 的结果,
而不是将每个值乘对应位数的值(乘10或1000这样).*/
更多推荐
所有评论(0)