![](https://img-blog.csdnimg.cn/img_convert/10f79ddfa2c40444a388d413358757d6.png)
作业:
1> 递归实现n的阶乘
2>递归计算1-n的和
3>递归实现斐波那契,输出1-n项的值
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fun(int n)
{
if(n==1)
return 1;
else
{
return n*fun(n-1);
}
}
int main(int argc, const char *argv[])
{
int n;
printf("输出n的值:");
scanf("%d",&n);
int mul=fun(n);
printf("%d\n",mul);
return 0;
}
![](https://img-blog.csdnimg.cn/img_convert/387a3d5c0f7db7a750ae657d26bcad9e.png)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fun(int n)
{
if(n==0)
return 0;
else
{
return n+fun(n-1);
}
}
int main(int argc, const char *argv[])
{
int n;
printf("输出n的值:");
scanf("%d",&n);
int sum=fun(n);
printf("%d\n",sum);
return 0;
}
![](https://img-blog.csdnimg.cn/img_convert/b927451283ecd8b3ba748e0943a816bb.png)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int fibonacii(int n)
{
if(n==1||n==2)
{
return 1;
}
else
{
return fibonacii(n-1)+fibonacii(n-2);
}
}
int main(int argc, const char *argv[])
{
int n;
printf("输入项数:");
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
printf("%d ",fibonacii(i));
}
int a=fibonacii(n);
printf("第%d项为:%d\n",n,a);
return 0;
}
![](https://img-blog.csdnimg.cn/img_convert/adb379fdabb5a2f7a7fbc8a982fb5ee4.png)