斐波那契数列c语言写法
时间: 2023-11-17 18:01:18 浏览: 43
下面是C语言实现斐波那契数列的代码:
```c
#include <stdio.h>
#include <stdlib.h>
double function(double m) {
if(m == 1) {
return 1;
} else if (m == 2) {
return 1;
} else if(m >= 3) {
return function(m - 1) + function(m - 2);
}
}
int main() {
double m , y;
printf("请输入第几行斐波那契数列:");
scanf("%lf",&m);
y = function(m);
printf("这个斐波那契数列为:%lf",y);
return 0;
}
```
在这个代码中,我们定义了一个递归函数`function`,用来计算斐波那契数列的第`m`项。在`main`函数中,我们通过用户输入的值来调用`function`函数,并输出结果。
相关问题
斐波那契数列 c语言
斐波那契数列是一个经典的数学问题,它是以递归的方式定义的。斐波那契数列的前两个数字是0和1,从第三个数字开始,每个数字都是前两个数字之和。所以斐波那契数列的前几个数字是0、1、1、2、3、5、8、13、21等等。
在C语言中,可以使用循环或递归来计算斐波那契数列。下面是使用循环的方法:
```c
#include <stdio.h>
int fibonacci(int n) {
int first = 0, second = 1, result;
if (n == 0)
return first;
if (n == 1)
return second;
for (int i = 2; i <= n; i++) {
result = first + second;
first = second;
second = result;
}
return result;
}
int main() {
int n;
printf("请输入要计算的斐波那契数列的项数:");
scanf("%d", &n);
printf("第%d项的斐波那契数为:%d\n", n, fibonacci(n));
return 0;
}
```
使用递归的方法如下:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n == 0)
return 0;
if (n == 1)
return 1;
return fibonacci(n - 1) + fibonacci(n - 2);
}
int main() {
int n;
printf("请输入要计算的斐波那契数列的项数:");
scanf("%d", &n);
printf("第%d项的斐波那契数为:%d\n", n, fibonacci(n));
return 0;
}
```
斐波那契数列c语言数组
斐波那契数列可以使用C语言数组来实现。下面是一个使用数组实现斐波那契数列的C语言代码:
```c
#include <stdio.h>
int main()
{
int n;
printf("请输入要输出的斐波那契数列的项数:");
scanf("%d", &n);
int fib[n];
fib[0] = 1;
fib[1] = 1;
for (int i = 2; i < n; i++) {
fib[i] = fib[i-1] + fib[i-2];
}
printf("斐波那契数列的前%d项为:", n);
for (int i = 0; i < n; i++) {
printf("%d ", fib[i]);
}
return 0;
}
```
在这个代码中,我们首先通过`scanf`函数获取用户输入的斐波那契数列的项数`n`。然后我们定义了一个长度为`n`的整型数组`fib`,并将数组的前两个元素初始化为1。接下来,我们使用循环计算出数组中剩余的元素的值。最后,我们使用另一个循环输出数组中的所有元素,即为斐波那契数列的前`n`项。