编写一个递归函数,将整数的每个位上的数值按相反的顺序输出。例如:输入1234,输出4321。c++
时间: 2024-11-13 20:18:54 浏览: 15
递归函数是一种通过将问题分解成更小的同类问题来求解的方法,在这里我们可以编写一个C++函数,接收一个整数作为参数,并返回其各位数字反转后的字符串。下面是一个简单的示例:
```cpp
#include <string>
#include <iostream>
std::string reverseDigits(int num) {
// 基线条件:如果数字为0,直接返回空字符串
if (num == 0)
return "0";
// 取出最后一位数字并转换为字符
int lastDigit = num % 10;
std::string lastDigitStr = std::to_string(lastDigit);
// 调用递归,处理去掉最后一位后的剩余部分
std::string rest = reverseDigits(num / 10);
// 将最后一位添加到剩余部分的前面,实现反转
return rest + lastDigitStr;
}
int main() {
int input = 1234;
std::cout << "Input: " << input << "\n";
std::cout << "Reversed: " << reverseDigits(input) << "\n";
return 0;
}
```
在这个例子中,`reverseDigits` 函数会先检查输入是否为0,如果是则直接返回"0"。然后它取出`num`的最后一位数字(`num % 10`),将其转换为字符串并存储。接着递归地处理`num`除以10得到的值(即去掉最后一位的数)。最后将结果字符串加上最后一个数字,完成整个过程。
阅读全文