因为要求从高位输出,第一个循环求出输入得数多少位,并用power保存相关信息(如:输入1,power=1,输入123,power=100,输入1234,power=10000,输入12345,power=10000)。
循环结束后还要再
power=power/10;//因为循环将这个数为一位数的时候多成了10,即输入1,算出power=10,
//但实际power应该为1
第二个循环,digit=number/power;获得当前的最高位,最高位获得到了,接下来就是求次高位,所以
number%=power;//原来的数去掉最高位数字后得到的数
power/=10;//原来的数减少一位,power保存的数也应当缩小10
power/=10 的意思就是 power = power/10;
#include
int main(void)
{
int x,a,b,t;
scanf("%d",&x);
while(x<0)
x=-x;
if(x>0){
a=x%10;
while(x!=0){
x=x/10;
b=x%10;
a=a*10+b;}}
a=a/10;
while(a!=0){
t=a%10;
printf("%3d",t);
a=a/10;}
return 0;
}