c语言4. 逆序输出数字 【问题描述】给定一个不多于5位的正整数,按逆序打印出各位数字。例如原数为213,应输出312。 【输入】一个不多于5位的正整数 【输出】该数的逆序形式 【样例输入1】213 【样例输出1】312 【样例输入2】12345 【样例输出2】54321
时间: 2024-10-13 13:18:52 浏览: 26
c代码-输入一个不超过4位的整数,不考虑符号, 输出它是几位数, 分别输出其每位数字, 最后将该数逆序输出。
要实现这个功能,你可以使用C语言中的基本控制结构,如循环和临时变量。这里是一个简单的程序,它接受一个整数并按照要求逆序打印它的每一位:
```c
#include <stdio.h>
int main() {
int num, reversed = 0;
printf("请输入一个不超过5位的正整数: ");
scanf("%d", &num);
// 检查输入是否超过5位
if (num <= 0 || num >= pow(10, 5)) {
printf("输入错误! 数字必须在1到99999之间.\n");
return 1;
}
// 将数字分解成每一位
while (num != 0) {
// 取个位
reversed = reversed * 10 + num % 10;
// 移除个位
num /= 10;
}
// 打印逆序后的数字
printf("逆序后: %d\n", reversed);
return 0;
}
```
在这个程序中,我们首先读取用户的输入,然后检查它是否符合要求(即小于或等于99999)。接着,我们用一个`while`循环来提取数字的每一位,将其加到`reversed`上,并不断更新`reversed`以存储逆序的结果。当原始数字`num`变成0时,循环结束。最后,我们打印出逆序的数字。
如果你运行这个程序,它会根据你输入的示例进行操作。注意,如果输入的数字超过5位,程序会提示错误信息。
阅读全文