一、递归函数
递归函数是指一个函数的函数体中直接或间接调用了该函数自身
实例:
编写一个递归函数,计算n!
#include <stdio.h>
int fac(int n);
int main(int argc, char *argv[])
{
int n;
printf("input:");
scanf("%d",&n);
printf("%d\n",fac(n));
return 0;
}
int fac(int n)
{
if(n == 0 || n == 1)
return 1;
return n * fac(n-1);
}
实例:
编写一个递归函数,计算斐波那契数列(兔子繁殖问题)
一般而言,兔子在出生两个月后,就有繁殖能力。一对兔子每个月能生出一对小兔子来。如果所有兔子都不死,那么一年以后就可以繁殖多少对兔子?
1 1 2 3 5 8 【即 f(n) = f(n-1) + f(n -2)】
#include <stdio.h>
int fib(int n);
int main(int argc, char *argv[])
{
int n = 1;
while(n <=12){
printf("%d ", fib(n));
n++;
}
printf("\n");
return 0;
}
int fib(int n)
{