给出一个不多于5位的正整数。 (1)求出它是几位数。 (2)分别打印出每一位数字。 (3)按照逆序打印各位数字,例如原数为321时,应输出123。
输入格式:
测试数据有多组,处理到文件尾。每组输入一个不多于5位的正整数。
输出格式:
每组在同一行中输出其位数、每一位数字、逆序打印其各位数字。各部分之间一个空格,每一位数字之间一个空格。
输入样例:
123
8657
91263
输出样例:
3 1 2 3 321
4 8 6 5 7 7568
5 9 1 2 6 3 36219
我是用一维数组来实现的,代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
int n,a[5],i=0,j;
while(scanf("%d",&n)!=EOF)
{
i=0;//长度要重置
while(n)
{
a[i]=n%10; //将n的每位数逆序存放
i++; //统计长度
n=n/10;
}
printf("%d ",i);
for(j=i-1;j>=0;j--)
{
printf("%d ",a[j]);
}
for(j=0;j<i;j++)
{
printf("%d",a[j]);
}
printf("\n");
}
return 0;
}
希望对你们有帮助!