题目
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第
3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
问题分析
利用递归的方法,要想知道第五个人岁数,需知道第四个人的岁数,依次类推,推到第一人(10岁),再往回推,依次加二,最后的结果即为第五个人的年龄。
代码
#include<stdio.h>
int getage(int a, int b)
{
if (a == 1)
{
return b;
}
else
{
return 2+getage(a - 1, b);
}
}
int main()
{
int n = 5, m = 10;//5个人,第一个人10岁
int age=getage(n, m);
printf("第五个人的年龄是:%d\n\n", age);
}
运行结果