猿_小白
2019-01-19 22:43
#include <stdio.h>
/*
* 请使用递归函数完成本题
* 小编已将正确代码放在左侧任务的“不知道怎么办”里
* 小编希望各位童鞋独立完成哦~
*/
int getAge(int num){
int age;
if(num==1){
return 10;
}
else{
age = getAge(num)*2+8;
}
return age;
}
int main()
{
int age = getAge(5);
printf("第5个人的年龄是%d岁", age);
return 0;
}
递归函数是调用它本身来进行运算,故我们要根据问题本身来考虑函数的出口和每一次递归的的联系,如第五人说比第四人大两岁,第四人比第三人大两岁······第一人说他有10岁,可以看出他们之间相互大两岁,则其数列表达式可为a(n)=a(n-1)+2。所以你可将age=getAge(num)*2+8改为age=gerAge(n-1)+2。即可
希望对你有帮助!
C语言入门
926026 学习 · 20793 问题
相似问题