gpt4 book ai didi

c++ - 正十进制整数的递归函数数字以相反的顺序c++

转载 作者:搜寻专家 更新时间:2023-10-31 00:42:14 24 4
gpt4 key购买 nike

我有一个作业要编写一个递归函数,以相反的顺序写入正整数的数字。我的问题是函数没有正确显示反向。我知道我应该在递归调用中显示数字时使用 % 或 10 和/10 以及基本情况应该是 < 10。这是我的代码。

#include <iostream>
using namespace std;

int reverse(int,int);

int main()
{
int number;
int n;

cout << " Enter number to reverse." << endl;
cin >> number;
cout << reverse(number % 10,0);

return 0;
}//end main

int reverse(int number,int n)
{

if(n < 10)
{
return n;
}
else
{
return reverse(number/10,n);
}
}// end reverse

最佳答案

我认为你的功能应该是这样的:

void reverse(int number){
if(number == 0) //base/basic case i.e if number is zero the problem is already solved, nothing to do, so simply return
return;
else{
cout << number % 10; // print that last digit, e.g 103%10 == 3
reverse(number/10); //solve the same problem but with smaller number, i.e make the problem smaller by dividing it by 10, initially we had 103, now 10
}
}

关于c++ - 正十进制整数的递归函数数字以相反的顺序c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12270843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com