题目很简单,直接看原文:
有5 个人坐在一起,问第五个人多少岁?他说比第4 个人大2 岁。问第4 个人岁数,他说比第3 个人大2 岁。问第三个人,又说比第2 人大两岁。问第2 个人,说比第一个人大两岁。最后问第一个人,他说是10 岁。请问第五个人多大?
1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10 岁),再往回推。
2.程序源代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=5;
int age(int); //函数原型
printf("The age of 5th is %d\n",age(i));
}
int age(int n)
{
if(n==1)
return 10;
else
return(age(n-1)+2);
}
本文通过递归方法解决了一个关于年龄的数学问题,从最小的个体开始逐步推算出最大的个体年龄。

1634

被折叠的 条评论
为什么被折叠?



