2401_89398078 2024-12-01 19:05 采纳率: 20%
浏览 7

用c++写出题中所要求代码

用递归算法写程序,输入一个非负整数,输出这个数的倒序数
输入说明
一个非负整数
输出说明
倒序结果
输入示例
123
输出示例
321

代码加结果运行图

  • 写回答

1条回答 默认 最新

  • 关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    以下是一个使用递归算法实现的C++程序,可以输入一个非负整数并输出其倒序数:

    #include <iostream>
    using namespace std;
    
    int reverseNumber(int n) {
        if (n < 10) { // 如果输入的数字只有一个数字,直接返回该数字
            return n;
        } else { // 如果输入的数字有多位,则递归调用函数,将数字除以 10 并取余数得到最后一位数字,然后将剩余部分进行倒序处理并拼接在最后一位数字后面
            int lastDigit = n % 10; // 获取最后一位数字
            int remaining = n / 10; // 获取剩余部分数字
            return lastDigit * 10 + reverseNumber(remaining); // 将最后一位数字乘以 10 并加上剩余部分的倒序结果,得到整个数字的倒序结果
        }
    }
    
    int main() {
        int n;
        cout << "请输入一个非负整数:";
        cin >> n;
        cout << "倒序结果为:" << reverseNumber(n) << endl; // 输出倒序结果
        return 0;
    }
    

    程序中的 reverseNumber() 函数实现了递归算法来倒序一个非负整数。当输入的数字只有一个数字时,直接返回该数字;否则,递归调用函数将数字除以 10 并取余数得到最后一位数字,然后将剩余部分进行倒序处理并拼接在最后一位数字后面,直到输入的数字被完全处理完为止。最后,在 main() 函数中读取输入的非负整数并调用 reverseNumber() 函数输出倒序结果。

    评论

报告相同问题?

问题事件

  • 修改了问题 12月1日
  • 创建了问题 12月1日