用c语言编写一个函数,求Fibonacci数列的前40项
时间: 2023-07-15 07:11:05 浏览: 110
下面是用 C 语言编写的求 Fibonacci 数列前 40 项的函数:
```c
#include <stdio.h>
void fibonacci(int n)
{
int a = 0, b = 1, c, i;
printf("%d %d ", a, b);
for (i = 3; i <= n; i++) {
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
}
int main()
{
fibonacci(40);
return 0;
}
```
在这个函数中,我们定义了三个变量 `a`、`b` 和 `c`,其中 `a` 和 `b` 分别表示 Fibonacci 数列中的前两个数,即 0 和 1,`c` 表示当前计算的 Fibonacci 数。然后我们在循环中计算每个 Fibonacci 数,并输出到屏幕上,最终得到 Fibonacci 数列的前 40 项。
相关问题
用C语言编写递归函数,实现斐波那契数列前20项的和。
好的,下面是C语言实现斐波那契数列前20项的和的递归函数代码:
```c
#include <stdio.h>
int fibonacci(int n);
int main() {
int sum = 0;
for (int i = 0; i < 20; i++) {
sum += fibonacci(i);
}
printf("斐波那契数列前20项的和为:%d\n", sum);
return 0;
}
int fibonacci(int n) {
if (n == 0 || n == 1) {
return n;
}
else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
```
在主函数中,我们使用一个循环计算前20项的斐波那契数列元素的和,并将其存储在变量`sum`中。递归函数`fibonacci`用于计算斐波那契数列中第n个元素的值,如果n等于0或1,则直接返回n,否则递归计算`n-1`和`n-2`两个元素的和并返回结果。最终在主函数中输出斐波那契数列前20项的和。
用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`项,并将结果输出到屏幕上。最后,我们在输出结束后打印一个换行符,以便在输出的数列之后添加一个空行。
阅读全文