关于网友提出的“ C++递归问题(新手)”问题疑问,本网通过在网上对“ C++递归问题(新手)”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: C++递归问题(新手)
描述: #include
using namespace std;
int age(int);
int main()
{
cout<<><>
return 0;}
int age(int n)
{
int c;
if(n==1) c=10;
else c=age(n-1)+2;
return c;
}
这个题目要求是求5个人中第五个人的年龄,已知第一个人10岁。求第五个人年龄。。。
疑惑:C指的是什么??是某个人的年龄?n的初始值是多少??
能否讲解一下具体流程,谢谢
解决方案1: 设断点,单步运行一下什么是什么,不就明白了么。自己调试
解决方案2:
n = 1 c = 10
n = 2 c = 10 + 2
n = 3 c = 10 + 2 + 2
n = 4 c = 10 + 2 + 2 + 2
n = 5 c = 10 + 2 + 2 + 2 + 2
解决方案3: 为什么要用递归哦 好不清晰
解决方案4: c是你题目中要求的年龄啊
就是反复调用自己,age(n)=age(n-1)+2 age(1)=10
解决方案5: 可以去掉c,改成:
int age(int n)
{
if (n <= 1)
return 10;
return age(n-1) + 2;
}
解决方案6:1:10
2:12
3:14
4:16
5:18
解决方案7: 每一个人的年龄
n的初值就是你的输入5
以上介绍了“ C++递归问题(新手)”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3777158.html