编写一个c程序4.逆序输出数字 【问题描述】给定一个不多于5位的正整数,按逆序打印出各位数字。例如原数为213,应输出312。 【输入】一个不多于5位的正整数 【输出】该数的逆序形式【样例输入1] 213[样例输出1]312[样例输入2]12345【样例输出2]54321
时间: 2024-10-20 15:03:14 浏览: 18
编写一个C语言程序来逆序输出一个不多于5位的正整数,可以使用循环结构和临时变量来交换数字位置。下面是一个简单的示例:
```c
#include <stdio.h>
int main() {
int num, reversed = 0;
// 输入正整数
printf("请输入一个不多于5位的正整数: ");
scanf("%d", &num);
// 检查输入是否合法
if (num <= 0 || num >= pow(10, 5)) {
printf("输入错误, 数字应为1到99999.\n");
return 1;
}
// 逆序处理
while (num > 0) {
// 取最后一位数字并存入reversed
int digit = num % 10;
// 将reversed的最高位移至最低位
reversed = reversed * 10 + digit;
// 移除最低位数字
num /= 10;
}
// 输出逆序结果
printf("逆序后的数字是: %d\n", reversed);
return 0;
}
```
**相关问题--:**
1. 为什么在取每一位数字后需要将reversed更新?
2. 如果输入的数超过5位会发生什么?
3. 这段代码能处理负数吗?如果不能,如何修改它以适应负数情况?
阅读全文