如下列代码,我想做出最后一起输出“num是_位数”,并且当输入的数字超过五位数时返回“输入错误!请输入0-10000的数字\n”而不输出其他结果的效果,请问我应该怎样优化/修改?
#include<stdio.h>
//输入一个不多于5位的正整数
//要求:
//(1)输出它是几位数
//(2)分别输出每一位数字
//(3)按逆序输出各位数字,如原数为321,则应输出123
// (4)不能输入负数且输入的数不超过5位
int main()
{
long num, numt;
int a = 0;
scanf("%d", &num);
//判断是几位数
if (num >= 10000 && num < 100000)
printf("num是一个五位数");
else if (num >= 1000&&num< 10000)
printf("num是一个四位数");
else if (num >= 100&&num<1000)
printf("num是一个三位数");
else if (num >= 10&&num<100)
printf("num是一个二位数");
else if (num >= 0&&num<10)
printf("num是一个一位数");
else
printf("输入错误!请输入0-10000的数字\n");
numt = num;
//倒序计算
while (num)
{
a = a * 10 + num % 10;
num = num / 10;
}
printf("\nnum中的数字分别是:%d,倒序是:%d", numt,a);
return 0;
}
```