1.递归实现阶乘
#include<stdio.h>
int factorial(int n)
{
if(n==1||n==0)//进入函数的条件(结束条件的判断写在最前面)
return 1;
return n * factorial(n-1);//n*(n-1)
}
int main()
{
int i;
printf("please input a fcatorical number:\n");
scanf("%d",&i);
int a = factorial(i);
printf("%d\n",a);
return 0;
}
2.递归实现幂函数
#include<stdio.h>
int power(int n,int k)
{
if(k == 0)
return 1;
else if(k ==1)
return n;
else
return n*power(n,k-1);//n*n^(k-1)
}
int main()
{
int i,j,x;
printf("plrase input the base number:\n");
scanf("%d",&i);
printf("plrase input the power number:\n");
scanf("%d",&j);
x = power(i,j);
printf("the power is %d\n",x);
return 0;
}
对递归函数关键形式参数(n)传入的分析——斐波那契数列
#include<stdio.h>
int fib(int n)
{
if (1 == n || 2 == n)
return 1;
return fib(n-1)+fib(n-2);//见上图
}
int main()
{
int n = 0;
scanf("%d",&n);
int i = 0;
for(i=1;i<=n;i++)
{
printf("%d ",fib(i));
}
printf("\n");
system("pause");
return 0;
}