open judge问题描述
15:不多于5位的正整数的处理
查看 提交 统计 提问
总时间限制: 1000ms 内存限制: 65535kB
描述
一个不多于5位的正整数a,要求:
1.求出它是几位数;
2.分别打出每一位数字;
3.按逆序打出各位数字,例如原数为321,应输出123。
输入
一行,不多于5位的正整数
输出
三行
第一行,一个整数,表示整数a的位数
第二行,正序输出整数a的每一位,每位间一个空格
第三行,逆序输出整数a,如果a是321,则输出123,如果a是100,则输出1
样例输入
123
样例输出
3
1 2 3
321
因为题干要求限定了输入的n的大小,n不多于5位,所以可以投机取巧,投机取巧的做法
#include<stdio.h>
int main()
{
int x,y,s[6],i=0,j;
scanf("%d",&x);
if(x/10000!=0)
y=5;
else if(x/1000!=0)
y=4;
else if(x/100!=0)
y=3;
else if(x/10!=0)
y=2;
else y=1;
printf("%d\n",y);
while(y–)
{
s[i]=x%10;
x=x