7-37 输出整数各位数字 (15 分)
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
输入格式:
输入在一行中给出一个长整型范围内的非负整数。
输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。
输入样例:
123456
输出样例:
1 2 3 4 5 6
将输入的设为char型数组,输出数组的每一个值就行。
#include<stdio.h>
int main()
{
char s[256];
scanf("%s",s);
for(int i = 0;i <strlen(s);i++)
printf("%d ",s[i] - '0');
return 0;
}
之前是这么写的,提交之后最后一个显示结果错误。想了想可能是n的值不够,试图将n换成double型的,但是在n % 10处显示不对。取余符号的两侧的值应该为整型。
#include<stdio.h>
int main()
{
int n;
int a[100],i = 1;
scanf("%d",&n);
while(n)
{
int temp = 0;
temp = n % 10;
a[i] = temp;
n = n / 10;
i++;
}
for(int j = i - 1; j > 0; j--)
{
printf("%d ",a[j]);
}
return 0;
}