C语言求一个数是几位数

来源:百度知道 编辑:UC知道 时间:2024/05/26 13:33:39
/* 给一个不多于5位的正整数 要求:
(1)求出它是几位数
(2)分别输出每一位数字
(3)按逆序输出各位数字,123→321*/
#include "stdio.h"
main()
{
int a,b,c,d,e,f,g;
printf("please input a figure:");
sacanf("%d",&f);
if(f%100000>0||f<0)
printf("error");
else if(f%10000>0)
printf("you 5 wei");
else if(f%1000>0)
printf("you 4 wei");
else if(f%100>0)
printf("you 3 wei");
else if(f%10>0)
printf("you 2 wei");
else (f%1>0)
printf("you 1 wei"); /*这里错了 写着 不能到达的代码在 main 函数中*/

/*(2)*/
a=f%10000;
b=f-(a*10000)%1000;
c=f-((b*1000)+(a*10000))%100;
d=f-((c*100)+(b*1000)+(a*10000))%10;
e=f-((d*10)+(c*100)+(b*1000)+(a*10000))%1;
printf("%d%d%d%d%d",a,b,c,d,e);
/*(3)*/
f=a*10000+b*1000+

else (f%1>0)
printf("you 1 wei"); /*这里错了 写着 不能到达的代码在 main 函数中*/

这里判断是else if(f%1),不能直接在else后面加条件.

#include "stdio.h"
main()
{
int a[5],f,k,i;
printf("please input a figure:");
scanf("%d",&f);
if(f/100000>0||f<0)
printf("error");
else if(f/10000>0)
printf("you 5 wei\n");
else if(f/1000>0)
printf("you 4 wei\n");
else if(f/100>0)
printf("you 3 wei\n");
else if(f/10>0)
printf("you 2 wei\n");
else if(f/1>0)
printf("you 1 wei\n"); /*这里错了 写着 不能到达的代码在 main 函数中*/
for(i=0;f!=0;f/=10,i++)
a[i]=f%10;
k=i;
printf("kaishi de shu wei ");
for(i=k-1;i>=0;i--)
printf("%d ",a[i]);
printf("\ndao guo lai de shu wei ");
for(i=0;i<k;i++)
printf("%d",a[i])