c语言 编写一递归函数f求斐波那契数列的前n项。在主函数main中调用此自定义函数f,运行该程序,从键盘输入n,求斐波那契数列的前n项。例如,若输入20,则求斐波那契数列的前20项。 评价标准(满分10分): 1.有注释行(1分) 2.有头文件,main结构,输出语句,输入语句(2分) 3.有控制结构(1分) 4.有数组结构(2分) 5.有自定义函数结构(2分) 6.程序可以运行,但是结果不正确(1分) 7.程序可以运行,输出结果正确(2分) (10.0分) (10.0分)
时间: 2024-01-13 18:04:25 浏览: 52
下面是您要求的代码,其中注释部分为解释代码的相关信息:
```
#include <stdio.h>
// 自定义递归函数,用于求斐波那契数列的前n项
int f(int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return f(n-1) + f(n-2);
}
}
int main()
{
int n, i;
printf("请输入要求的斐波那契数列前n项:");
scanf("%d", &n);
int fibo[n]; // 定义一个数组,用于存储前n项斐波那契数列
// 循环调用自定义递归函数,求斐波那契数列的前n项
for (i = 1; i <= n; i++)
{
fibo[i-1] = f(i);
}
// 输出结果
printf("斐波那契数列的前%d项为:\n", n);
for (i = 0; i < n; i++)
{
printf("%d ", fibo[i]);
}
printf("\n");
return 0;
}
```
在该程序中,我们使用了自定义函数 `f` 来求解斐波那契数列的前n项,同时使用了数组来存储斐波那契数列的每一项。在主函数 `main` 中,我们首先从键盘读入要求的斐波那契数列前n项的值 `n`,然后通过循环依次调用自定义函数 `f` 来求解每一项斐波那契数列,并将其存储到数组 `fibo` 中。最后,我们通过循环遍历数组 `fibo`,将其输出到屏幕上,得到斐波那契数列的前n项。
阅读全文