例1:有五个小朋友,
第五个小朋友说我比老四大两岁;
第四个小朋友说我比老三大两岁;
第三个小朋友说我比老二大两岁;
第一个小朋友说我10岁;
第五个小朋友年龄是多少?
递归思路:倒推。
设有n个小朋友,则n-1个小朋友的年龄+2就是第n个小朋友的年龄
所以得到表达式:
n的年龄=(n-1的年龄)+2
#include<stdio.h>
int Age(int n)
{
int temp;
if(n==1)
{
return 10;
}
else
{
temp=Age(n-1)+2;
}
return temp;
}
int main()
{
printf("小朋友的年龄为%d\n",Age(5));
return 0;
}
递归函数逐层调用图