输入一个数 num ,按顺序输出其各位数。
想法:num 为 x 位,则num / pow(10,x-1)= num 的最高位的数,即最左边的数。eg.1234/1000=1。 此后,将 num % 10 ,得到去处最高位的数,eg. 1234 % 1000= 234,将1000也除以10,得到100。然后进行循环。
代码实现:
#include<stdio.h>
int main(){
int num;
scanf("%d",&num); //输入要运算的数 num
int mask=1,t;
t=num; // t 存储 num 的值
while(t>9){ // t 的位数-1 次循环
t/=10;
mask*=10; // mask 得到 pow(10,t的位数-1)
}
do{ //循环实现正序输出
t=num/mask; //得到此时 num 的最高位即最左边的数
printf("%d",t);
if(mask>9)printf(" "); //数后输出空格,且控制最后一个数后不输出空格
num%=mask; // num 最高位去除
mask/=10;
}while(mask>0); //输出 num 最后一位时,运算后 mask =0,循环结束
return 0;
}