用递归算法写程序,输入一个非负整数,输出这个数的倒序数。 输入描述 输入一个非负整数(保证个位不为零)。 输出描述 输出倒序结果。
时间: 2024-12-20 14:24:19 浏览: 14
要使用递归算法来计算一个非负整数的倒序数,你可以定义一个函数,该函数接受一个整数参数并返回其倒序版本。递归的核心思想是把大问题分解成小问题,直到达到基本情况(通常是空或基本情况很容易处理的情况)。对于这个问题,基本情况可以是当数字为0或1时,它们本身就等于它们自身,因为0和1的倒序还是自己。
以下是一个C++的递归函数示例:
```cpp
#include <iostream>
// 定义递归函数,传入参数n表示当前数字
int reverseInteger(int n) {
// 基本情况:如果n为0或1,直接返回
if (n == 0 || n == 1) {
return n;
} else { // 否则,取出个位并递归处理剩下的部分
int lastDigit = n % 10; // 取个位
int remaining = n / 10; // 去掉个位后得到剩余部分
return reverseInteger(remaining) * 10 + lastDigit; // 递归调用并组合结果
}
}
int main() {
int num;
std::cout << "Enter a non-negative integer with a non-zero digit: ";
std::cin >> num;
// 计算并打印倒序数
int reversedNum = reverseInteger(num);
std::cout << "The reversed number is: " << reversedNum << std::endl;
return 0;
}
```
当你运行这个程序,它会提示你输入一个非负整数,然后输出它的倒序数。记得输入的是一个个位不为零的数。
阅读全文