C语言:整数反转问题,即将一个整数反转,如输入12345得到54321。使用函数递归调用实现该问题的解决。 强调:必须有函数定义和递归调用
时间: 2024-12-17 09:56:14 浏览: 18
在C语言中,整数反转可以使用递归来实现。下面是一个简单的函数定义,用于反转整数`num`:
```c
#include <stdio.h>
// 函数声明,包含返回值类型和参数
int reverse(int num);
// 函数定义 - 递归实现
int reverse(int num) {
// 基线条件:如果数字为0或负数,则直接返回
if (num == 0 || num < 0)
return num;
// 递归条件:取个位数,然后将剩余部分再次传递给reverse(),最后将结果乘以10加到前面
int last_digit = num % 10; // 取个位
int remaining = num / 10; // 剩余部分
return last_digit + reverse(remaining * 10); // 递归调用
}
int main() {
int input;
printf("请输入一个整数:");
scanf("%d", &input);
int reversed_num = reverse(input);
printf("反转后的整数是:%d\n", reversed_num);
return 0;
}
```
在这个程序中,`reverse()`函数会持续拆分输入的整数并将其各位反转,直到达到基本情况。在`main()`函数中,用户输入的整数会被传递给`reverse()`,然后结果显示反转后的数值。
阅读全文