[5.08]整数位数判断 描述 判断整数的位数。 输入 一个不多于5位的正整数。 输出 如果不是符合要求的正整数,输出“Invalid input”;否则输出它是几位数,并逆序打印出各位数字。
时间: 2024-10-01 07:11:52 浏览: 70
要编写一个程序来判断给定整数的位数并逆序打印,我们可以使用以下C语言代码。首先,我们需要检查输入是否为正整数并且不超过5位。然后,我们可以通过计算对数(log10)来确定位数,再将结果转换为整数,从而得到位数。最后,我们将整数转换为字符串进行逆序处理并打印。
```c
#include <stdio.h>
#include <math.h>
int main() {
int num, digit_count;
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &num);
// 检查输入的有效性
if (num <= 0 || num >= pow(10, 5)) { // 如果不是正整数或超过5位
printf("Invalid input\n");
return 1; // 结束程序
}
// 计算位数(不包括小数点)
digit_count = static_cast<int>(log10(num) + 1); // log10返回的是以10为底的对数
// 逆序打印每一位数字
char str[6]; // 存储数字字符串,留一位用于空格
sprintf(str, "%d", num);
for (int i = digit_count - 1; i >= 0; i--) {
printf("%c", str[i]);
}
printf(" ");
return 0;
}
```
阅读全文