2018-12-14

C语言入门:递归经典例题

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推,培养递归思想

代码展示:#include

int computer(int n)

{

int result;/*函数定义*/

if(n==1)/*递归出口*/

result=10;

else

result=computer(n-1)+2;/*递归式*/

return result;

}

int main()

{

int compute(int n);

int n;

int age;

printf("输入需要计算第几个人的年龄:");

scanf("%d",&n);

age=computer(n);

printf("第%d个人的年龄是:%d。\n",n,age);

return 0;

}

你可能感兴趣的:(2018-12-14)