实验4-2-8 输出整数各位数字 (15 point(s))
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
输入格式:
输入在一行中给出一个长整型范围内的非负整数。
输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。
输入样例:
123456
结尾无空行
输出样例:
1 2 3 4 5 6
参考答案:
注意数据类型的承载范围必须要等于或者大于长整型
#include<stdio.h>
int main()
{
void fun1(long n);
long number;
scanf("%ld",&number);
if(number) fun1(number*10);
else puts("0 ");
}
void fun1(long n)
{
if(n)
{
fun1(n/=10);
if(n) printf("%d ",n%10);
}
}
注意
scanf()函数对于长整型数据的接收:在vs2010(win7 sp1 32bit)上可以用%d去接收.
但是在其它环境可能就要%ld,甚至是%lf才能正常接收数据