问题描述:
有5个⼈坐在⼀起,问第五个⼈多少岁?他说⽐第4个⼈⼤2岁。问第4个⼈岁数,他说⽐第3个⼈⼤2岁。问第三个⼈,⼜说⽐第2⼈⼤两岁。问第2个⼈,说⽐第⼀个⼈⼤两岁。最后问第⼀个⼈,他说是10岁。请问第五个⼈多⼤?
本关任务:编写一个能计算第n个人年龄的递归函数,并编写主程序输出结果。
n=1:f1=10
n=2:f2=10+2=f1+2
n=3:f3=10+2+2=f2+2
…
fn=f(n-1)+2
#include<stdio.h>
//使用递归函数求解未知的年龄
int getAge(int n) {
if(n==1) {
return 10;
} else {
return getAge(n-1)+2;
}
}
int main(void) {
int n;//第n个人
int age;//第n个人的年龄
scanf("%d",&n);
age=getAge(n);
printf("%d",age);
return 0;
}