用c语言编写程序,给出一个不多于5位的正整数,要求:(1)求出它是几位数;(2)分别输出每一位数字;(3)按逆序输出各位数字。
时间: 2023-05-20 14:02:15 浏览: 183
python 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字 (示例)
5星 · 资源好评率100%
以下是用 C 语言编写的程序,可以实现上述要求:
```c
#include <stdio.h>
int main() {
int num, count = 0;
printf("请输入一个不多于5位的正整数:");
scanf("%d", &num);
if (num < 0 || num > 99999) {
printf("输入的数字不符合要求!\n");
return 0;
}
// 计算数字的位数
int temp = num;
while (temp > 0) {
count++;
temp /= 10;
}
printf("该数字是 %d 位数。\n", count);
// 分别输出每一位数字
printf("每一位数字分别是:");
for (int i = count; i > 0; i--) {
int digit = num / (int)pow(10, i - 1) % 10;
printf("%d ", digit);
}
printf("\n");
// 按逆序输出各位数字
printf("按逆序输出各位数字:");
while (num > 0) {
printf("%d", num % 10);
num /= 10;
}
printf("\n");
return 0;
}
```
如果输入的数字不符合要求(即不是正整数或超过了 5 位数),程序会输出错误提示。否则,程序会先计算出数字的位数,然后分别输出每一位数字,并按逆序输出各位数字。
阅读全文