编写函数(非递归函数),计算Fibonacci数列第n项的值,n在主函数中由键盘输入,结果在主函数中输出。已知:
时间: 2023-02-26 18:11:23 浏览: 50
Fibonacci数列:1,1,2,3,5,8,13,21,34,……#include<stdio.h>
int Fibonacci(int n)
{
int a = 1;
int b = 1;
int c = 1;
for(int i=3; i<=n; i++)
{
c = a + b;
a = b;
b = c;
}
return c;
}int main()
{
int n;
printf("请输入n:");
scanf("%d",&n);
int result = Fibonacci(n);
printf("Fibonacci数列第%d项的值为:%d\n",n,result);
return 0;
}
相关问题
用c语言编写一个递归函数求Fibonacci数列的第n项,在主函数中调用函数输出数列的前20项。
以下是用C语言实现Fibonacci数列的递归函数,以及在主函数中调用该函数输出数列的前20项的代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int i, n = 20;
printf("Fibonacci sequence:\n");
for (i = 1; i <= n; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return 0;
}
```
在该代码中,`fibonacci`函数接收一个整数参数`n`,并返回Fibonacci数列的第`n`项。当`n`等于1或2时,函数返回1;否则,函数递归地调用自身计算第`n-1`项和第`n-2`项的和。
在主函数中,我们使用一个循环来输出数列的前20项。对于每个`i`,我们调用`fibonacci`函数来计算第`i`项,并将结果输出到屏幕上。最后,我们在输出结束后打印一个换行符,以便在输出的数列之后添加一个空行。
编写一个递归函数求Fibonacci数列的第n项,在主函数中调用函数输出数列的前20项。
以下是 Python 代码示例:
```python
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
print("Fibonacci数列前20项:")
for i in range(20):
print(fibonacci(i), end=" ")
```
输出结果:
```
Fibonacci数列前20项:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181
```