本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
输入格式:
输入在一行中给出一个长整型范围内的非负整数。
输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。
样例:">输入样例:
123456
输出样例:
1 2 3 4 5 6
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
可以直接读取字符再输出
#include<stdio.h>
// 可以直接读取字符输出
int main()
{
char ch;
while( (ch=getchar())!='\n'){
putchar(ch);
putchar(' ');
}
return 0;
}
也可以读取长整型整数从高位开始分割
#include<stdio.h>
// 读取长整形整数从高位开始分割
int main()
{
long long int x;
int d; // 记录分割出的数字
int i;
long long int mask = 1; // 用于从高位分割
scanf("%lld", &x);
long long int num = x;
// 获得最高位位数
while( x>9 ){
mask *= 10;
x /= 10;
}
// 从高位开始分割
while( mask!=0 ){
d = num / mask;
printf("%d ", d);
num %= mask;
mask /= 10;
}
return 0;
}