求教大佬找错误 输入一个不多于3位的正整数,编写程序,输出是几位数,并且再倒序输出

#include<stdio.h>
int main()
{
int a,b,c,d,e,f;
printf("请输入一个不多于三位的正整数: \n");
scanf("%d",&a);

if(a>=0&&a<=9)
{printf("该数是个位数 %d\n",a);}

else
{
if(a>=10&&a<=99)
{b=a/10,c=a%10;
printf("该数是两位数 倒序输出为%d%d\n",c,b);}

if(a>=100&&<=999)
{d=a/100,e=a%100/10,f=a%100%10;
printf("该数是三位数 倒序输出为%d%d%d\n",f,e,d);}
}

}

你写得太复杂了,直接一个while循环从个位往高位取,然后加一个变量,初始值为0,循环执行的多少次,这个就是一个几位数,
#include<stdio.h>
void main(){
int count=0,num=0,temp=0;
printf("请输入一个不多于三位的正整数:");
scanf("%d",&num);
while(num>999||num<0){//限制输入的数字在0-999之间
printf("必须输入一个小于三位的正整数!\n\n");
printf("请输入一个不多于三位的正整数:");
scanf("%d",&num);
}
while(num!=0){//取每一位数.然后反向将数字存入temp变量中
temp=num%10+temp*10;
num/=10;
count++;//保存循环次数,循环多少次,这个就是一个几位数
}
//判断数字的位数
if(count==1){
printf("该数是个位数%d\n",num);
}else if(count==2){
printf("该数是两位数 倒序输出为%d\n",temp);
}else if(count==3){
printf("该数是三位数 倒序输出为%d\n",temp);
}
}追问

大神啊,,还没学while。。。。c语言学了一个周。。。

能麻烦看看我哪儿错了嘛。。?

温馨提示:答案为网友推荐,仅供参考