问题 1009: C语言程序设计教程(第三版)课后习题5.7
时间限制: 1Sec 内存限制: 128MB 提交: 7032 解决: 3108
题目描述
给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
输入
一个不大于5位的数字
输出
三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数
样例输入
12345
样例输出
5
1 2 3 4 5
54321
代码如下:
#include <stdio.h>
int main(void)
{
int i,num,tmp,cnt=1;
int a[5];
scanf("%d",&num);
//求出几位数,并将每一位存储起来
tmp=num;
a[cnt-1]=tmp%10;
while(tmp/10!=0)
{
cnt++;
tmp/=10;
a[cnt-1]=tmp%10;
}
//分别输出每一位数字
printf("%d\n",cnt);
for(i=cnt-1;i>=0;i--)
{
printf("%d ",a[i]);
}
printf("\n");
//逆序输出各位数字
for(i=0;i<cnt;i++)
{
printf("%d",a[i]);
}
return 0;
}