Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
输入一个不多于5位的正整数,要求:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字。
Input
输入一个不多于5位的正整数。
Output
输出数据有3行,第一行为正整数位数,第二行为各位数字,第三行为逆序的各位数字。
Sample Input
123
Sample Output
3
1 2 3
3 2 1
Hint
Source
crq
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
int count=0,a[5];
int i;
scanf("%d",&n);
for(i=0;n>0;n=n/10)
{
count ++; //求位数;
a[i++] = n%10; //将个位数存储在a数组中;
}
printf("%d\n",count);
for(i=count-1;i>=0;i--)
{
if(i==0)
printf("%d\n",a[i]);
else printf("%d ",a[i]);
}
for(i=0;i<count;i++) //将a数组中的数先逆序后正序输出;
{
if(i==count-1)
printf("%d\n",a[i]);
else printf("%d ",a[i]);
}
return 0;
}
123
3
1 2 3
3 2 1
Process returned 0 (0x0) execution time : 1.502 s
Press any key to continue.