1> 递归实现n的阶乘
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fun(int n);
int main(int argc, const char *argv[])
{
int n;
printf("n=\n");
scanf("%d",&n);
int sum=fun(n);
printf("%d\n",sum);
return 0;
}
int fun(int n)
{
if(n==1)
return 1;
else{
return n*fun(n-1);
}
}
2>递归计算1-n的和
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fun(int n);
int main(int argc, const char *argv[])
{
int n;
printf("n=\n");
scanf("%d",&n);
int sum=fun(n);
printf("%d\n",sum);
return 0;
}
int fun(int n)
{
if(n==1)
return 1;
else{
return n+fun(n-1);
}
}
3>递归实现斐波那契,输出1-n项的值
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int Fei(int n)
{
if(n==1 || n==2)
return 1;
else
return Fei(n-1)+Fei(n-2);
}
int main(int argc, const char *argv[])
{
int n;
printf("puts n=");
scanf("%d",&n);
// int sum=Fei(n);
int a=Fei(n);
printf("第%d项是:%d\n",n,a);
for(int i=1;i<=n;i++)
printf("%d ",Fei(i));
printf("\n");
return 0;
}