本人大一新生,写此次博客是为了复习,如果能够帮助到他人,那是甚为高兴。
题目描述
从键盘输入一个任意的9位以内的整数,要求正确地分离出它的每一位数,并分别在屏幕上输出,输出采用每行输出一个数的方式,不带其它符号。
输入
一个任意的9位以内整数
输出
该整数的每一位(一行只显示一位)
输入样例 1
123
输出样例 1
1 2 3
常见方法
#include<stdio.h>
int main()
{
int n=0,i=0,sum=0;
int a[10];
scanf("%d",&n);
while(n>0)
{
a[i++]=n%10;//从后往前取数
n=n/10;//砍掉刚才取得那位
sum++;
}
for(i=sum-1;i>=0;i--)//如果倒序打印则是for(i=0;i<=sum-1;i++)
{
printf("%d\n",a[i]);
}
return 0;
}
使用函数递归的方法
#include<stdio.h>
void print(unsigned int n)
{
if(n>9)
{
print(n/10);
}
printf("%d\n",n%10);
}
int main()
{
unsigned int num;
scanf("%u",&num);//%us是无符号整型
//函数递归,自己调用自己
print(num);//打印num的每一位
return 0;
}
//print(1234)
//print(123)+4
//print(12)+3 4
//print(1)+2 3 4