C语言编写 给出一个不多于5位数的正整数,要求:①求出它是 几位数;②分别输出每一位数字;③按逆序输出各位 数字,如原数是123,应输出321。
时间: 2024-12-02 15:12:52 浏览: 25
在C语言中,我们可以使用循环结构和取模运算符`%`来实现这个需求。这里是一个简单的程序示例:
```c
#include <stdio.h>
int main() {
int num, digit;
// 输入正整数
printf("请输入一个不超过5位数的正整数: ");
scanf("%d", &num);
// 检查输入的数是否合法
if (num <= 0 || num >= 10000) {
printf("输入错误,请输入1到9999之间的正整数。\n");
return 1;
}
// 计算位数并输出每一位数字
int position = 1;
while (num > 0) {
digit = num % 10;
printf("第%d位数字是:%d\n", position++, digit);
num /= 10;
}
// 逆序输出每位数字
printf("逆序输出是: ");
while (position > 1) {
digit = num % 10;
printf("%d", digit);
num /= 10;
position--;
}
printf("%d\n", num); // 最低位数字无需除法
return 0;
}
```
在这个程序中,我们首先获取用户输入的数字,然后通过`while`循环计算每一位数字,并逐个输出。同时,在逆序输出部分,也使用了一个`while`循环,从最高位开始向下取余数。
阅读全文