递归函数:即在调用一个函数的过程中还要直接或间接的调用该函数。解决时分为两个阶段:回溯—>递推,但最后要有结束递归的条件。
例1:有5个学生,问第五个学生几岁,他说比第四个大两岁,第四个比第三个大两岁,以此类推,问第一个学生说他10岁。求第五个学生多大。用一个主函数调用age函数。
#include<stdio.h>
int main()
{
int age(int n);
printf("第五个学生的年龄:%d\n",age(5));
return 0;
}
int age(int n) //定义递归函数
{
int c;
if(n==1) //结束递归的条件
c=10;
else
c=age(n-1)+2;
return (c);
}
实际在整个问题中主要是靠调用age函数来实现的。