C语言 输入一个正整数,按照从高位到低位的顺序输出各位数字

2024-11-22 21:10:46
推荐回答(3个)
回答1:

因为要求从高位输出,第一个循环求出输入得数多少位,并用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

回答2:

power/=10 的意思就是 power = power/10;

回答3:

#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;
}