编写递归函数reverse(int n)实现将整数n逆序输出
时间: 2024-10-25 18:06:39 浏览: 39
用递归算法实现整数逆序
4星 · 用户满意度95%
编写递归函数`reverse(int n)`实现整数逆序输出,主要是通过不断地分解数字并将其每一位添加到结果中。这里以十进制为例,我们可以创建一个字符串表示法,并从最高位开始处理:
```cpp
#include <string>
std::string reverse(int n) {
if (n == 0) { // 基本情况:当n为0时,返回空字符串
return "";
} else {
// 递归情况:取出n的最后一位,然后去除该位,继续对剩下的部分逆序
int last_digit = n % 10;
std::string rest = reverse(n / 10); // 又是一次递归调用
return rest + std::to_string(last_digit); // 将当前位追加到结果前面
}
}
```
这个函数首先检查基本情况(即输入为0的情况),然后在递归过程中不断取余得到当前位,再除以10去掉最低位,直到n变为0停止递归。最终,将所有逆序后的位拼接起来就得到了原整数的逆序。
阅读全文