c语言用函数写斐波那契数列
时间: 2024-06-08 09:02:00 浏览: 137
以下是两种用C语言函数实现斐波那契数列的例子:
1. 递归实现斐波那契数列
```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;
}
```
2. 迭代实现斐波那契数列
```c
#include<stdio.h>
int fun(int x) {
if(x==1 || x==2)
return 1;
else if(x==0)
return 0;
x = fun(x-1) + fun(x-2);
return x;
}
int main() {
int n;
scanf("%d",&n);
printf("%d",fun(n));
return 0;
}
```
相关问题
c语言函数求斐波那契数列n
以下是一个用递归实现的求斐波那契数列第n项的C语言函数:
```c
int fibonacci(int n)
{
if (n == 0 || n == 1)
return 1;
else
return fibonacci(n - 1) + fibonacci(n - 2);
}
```
使用方法如下:
```c
int n = 10; // 求斐波那契数列第10项
int result = fibonacci(n);
printf("斐波那契数列第%d项为%d\n", n, result);
```
输出结果为:
```
斐波那契数列第10项为89
```
用c语言编程,输出Fibonacci数列1,1,2,3,5,8,…的前20个数,每行输出5个。要求用递归函数计算Fibonacci数列。
以下是用递归函数计算Fibonacci数列并输出前20个数的C语言代码:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int i;
printf("Fibonacci数列前20个数为:\n");
for (i = 0; i < 20; i++) {
printf("%d\t", fibonacci(i));
if ((i+1) % 5 == 0) { // 每行输出5个数
printf("\n");
}
}
return 0;
}
```
输出结果为:
```
Fibonacci数列前20个数为:
0 1 1 2 3
5 8 13 21 34
55 89 144 233 377
610 987 1597 2584 4181
```
阅读全文