一道简单的c语言题(给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、……)

题目描述
给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123

输入
一个不大于5位的数字

输出
三行第一行 位数第二行 用空格分开的每个数字,注意最后一个数字后没有空格第三行 按逆序输出这个数

样例输入
12345
样例输出
5
1 2 3 4 5
54321

这个简单易懂
#include<stdio.h>
#include<math.h>
void main()

{
long int x;
int g,s,b,q,w;
int n;
printf("\nInput(0~99999):");
scanf("%ld",&x);
if(x>9999)
n=5;
else if(x>999)
n=4;
else if(x>99)
n=3;
else if(x>9)
n=2;
else
n=1;
printf("%d\n",n);
w=x/10000;
q=x%10000/1000;
b=x%10000%1000/100;
s=x%10000%1000%100/10;
g=x%10000%1000%100%10;

if(w!=0)
{ printf("%d %d %d %d %d\n",w,q,b,s,g);printf("%d%d%d%d%d",g,s,b,q,w);}
else if(q!=0)
{printf("%d %d %d %d\n",q,b,s,g);printf("%d%d%d%d",g,s,b,q);}

else if(b!=0)
{printf("%d %d %d\n",b,s,g);printf("%d%d%d",g,s,b);}

else if(s!=0)
{ printf("%d %d\n",s,g);printf("%d%d",g,s);}

else
{ printf("%d\n",g);printf("%d",g);}

}


温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-04
#include<stdio.h>
void main()
{int i,j=0,num,temp;
printf("输入一个数据:\n");
scanf("%d",&num);
temp=num;
for (i=1;i<=5;i++)
{temp=temp/10;
if (temp==0)
break;
}
if (i>5)
printf("error!\n");
else
{j=i;
printf("%d\n",j);
for (i=0;i<j;i++)
{temp=num%10;
printf("%d ",temp);
num=num/10;
}
}
}
第2个回答  2018-10-14
#include<stdio.h>
void main()
{
int x;
printf("please enter one number\n");
scanf("%d",&x);
if(x<10)
{
printf("一位数\n");
printf("%d\n",x);
}
else if(x<100)
{
printf("两位数\n");
printf("%d,%d\n",x/10,x%10);
printf("%d",x%10*10+x/10);
}
else if(x<1000)
{
printf("三位数\n");
printf("%d,%d,%d\n",x/100,x%100/10,x%100%10);
printf("%d",x%100%10*100+x%100/10*10+x/100);
}
else if(x<10000)
{
printf("四位数\n");
printf("%d,%d,%d,%d\n",x/1000,x%1000/100,x%1000%100/10,x%1000%100%10);
printf("%d",x%1000%100%10*1000+x%1000%100/10*100+x%1000/100*10+x/1000);
}
else if(x<100000)
{
printf("五位数\n");
printf("%d,%d,%d,%d,%d\n",x/10000,x%10000/1000,x%10000%1000/100,x%10000%1000/10,x%10000%1000%100%10);
printf("%d",x%10000%1000%100%10*10000+x%10000%1000/10*1000+x%10000%1000/100*100+x%10000/1000*10+x/10000);
}
}
第3个回答  2011-03-27
#include <stdio.h>
#include <math.h>
int main()
{
int a[5]={0};
int x,ll,i;
scanf("%d",&x);
ll = (int)log10(x) + 1;
printf("%d\n",ll);

for (i=0;i<ll;i++)
{
a[i] = x % 10;
x /= 10;
}

for (i=ll-1;i>0;i--)
printf("%d ",a[i]);
printf("%d\n",a[0]);

for (i=0; i<ll; i++)
printf("%d",a[i]);
printf("\n");
return 0;
}
第4个回答  2018-12-17
#include<stdio.h>
int main()
{int a[5];
int i,n,b,count=0;i=0;
scanf("%d",&n);
while(n)
{ count++;
b=n%10;
a[i]=b;i++;
n=n/10;
}
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++)
{if(i==count-1)
printf("%d\n",a[i]);
else printf("%d ",a[i]);}
}