本人大一新生,写此次博客是为了复习,如果能够帮助到他人,那是甚为高兴。
题目描述
从键盘输入一个任意的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
本文介绍了一种方法,用于将一个9位以内的整数拆分成其各个组成数字,并逐一输出。文中提供了两种实现方式:一种是使用数组存储每位数字后逆序输出;另一种是利用递归函数实现。
7350

被折叠的 条评论
为什么被折叠?



