C语⾔编程:递归求年龄
有5个⼈坐在⼀起,问第5个⼈多少岁?他说⽐第4个⼈⼤2岁。问第4个⼈岁数,他说⽐第3个⼈⼤2岁。问第3个⼈,⼜说⽐第2⼈⼤两岁。问第2个⼈,说⽐第1个⼈⼤两岁。最后 问第1个⼈,他说是10岁。请问第5个⼈多⼤?
程序分析:
利⽤递归的⽅法,递归分为回推和递推两个阶段。要想知道第5个⼈岁数,需知道第4⼈的岁数,依次类推,推到第1⼈(10岁),再往回推。
c语言编写递归函数#include <stdio.h>
int ageCalculation(int n){
int age;
if(n == 1){
return 10; //age = 10;
/
/错误原因:这个是终⽌条件,必须要跳出这个函数
}
age = ageCalculation(n-1) + 2;
return age;
}
int main()
{
int age = 0;
age = ageCalculation(5);
printf("第5个⼈的年龄是%d岁", age);
return 0;
}