C语言学习-菜鸟教程C经典100例-练习28
题目
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
思路
age(1)=10,
age(2)=age(1)+2=12,
age(3)=age(2)+2=14,
age(4)=age(3)+2=16,
age(5)=age(4)+2=18.
用递归实现
代码
c
#include <stdio.h>
int age(int n){
if(n == 1){
return 10;
}else{
return age(n - 1) + 2;
}
}
int main(){
printf("第五个人的年龄是:%d\n", age(5));
return 0;
}
输出结果
c
第五个人的年龄是:18