本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
输入格式:
输入在一行中给出一个长整型范围内的非负整数。
输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。
输入样例:
123456
结尾无空行
输出样例:
1 2 3 4 5 6
#include<stdio.h>
int main()
{
int a;
scanf("%d", & a);
int c = a;
int b = 1;
while (c >= 10)//得到这个数是几位数
{
c = c / 10;
b = b * 10;
}
int j = a;
int x = a;
while (b!=0)
{
j = j / b;//从高位开始得到各位数
printf("%d ", j);
x = x % b;//x初值与a相同这一步很关键,易错点如果直接使用j=j%b,忽视了上面的j值已经改变了,
j=x;
b = b / 10;
//j = j % b;
}
return 0;
}