用C语言,输入一个任意长度的正整数,将该数逆序输出。如,输入正数237,则逆序显示的结果为732。如输入230,则逆序显示的结果为032。
时间: 2024-11-15 09:22:46 浏览: 23
在C语言中,你可以通过遍历输入数字的每一位,并逐个添加到结果字符串的开头来实现一个简单的逆序输出函数。这里是一个示例程序:
```c
#include <stdio.h>
#include <string.h>
// 函数声明
void reverse(int num);
int main() {
int input;
printf("请输入一个正整数: ");
scanf("%d", &input);
// 逆序输出并保存到字符串
char reversed[100]; // 假设输入不会超过99位
reverse(input, reversed);
// 打印逆序后的字符串
printf("逆序后的数字为: %s\n", reversed);
return 0;
}
// 递归函数来实现数字的逆序
void reverse(int num, char* str) {
if (num == 0) { // 遍历结束条件
str[0] = '\0'; // 添加空字符作为字符串结尾
} else {
reverse(num / 10, str); // 递归调用,处理高位
str[0] = num % 10 + '0'; // 将当前位添加到前面
str++;
}
}
```
在这个程序中,`reverse`函数通过递归的方式把输入的十进制数字转换成字符串形式,每次递归都会处理掉最高位并将其添加到结果字符串的开头。
阅读全文