用c语言编写一个斐波那契数列
时间: 2023-11-26 22:46:49 浏览: 212
以下是用C语言编写斐波那契数列的两种方法:
方法一:递归法
```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 n = 10;
for (int i = 1; i <= n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
```
方法二:循环法
```c
#include <stdio.h>
int main() {
int n = 10;
int a = 1, b = 1, c;
printf("%d %d ", a, b);
for (int i = 3; i <= n; i++) {
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
return 0;
}
```
相关问题
C语言写一个斐波那契数列
斐波那契数列是一个数列,前两个数为 0 和 1,之后的每一项都是前两项的和。以下是一个用 C 语言编写的斐波那契数列:
```c
#include <stdio.h>
int main() {
int n, i;
int f[100];
printf("请输入要计算的斐波那契数列项数:");
scanf("%d", &n);
f[0] = 0;
f[1] = 1;
for (i = 2; i < n; i++) {
f[i] = f[i-1] + f[i-2];
}
printf("斐波那契数列前 %d 项为:\n", n);
for (i = 0; i < n; i++) {
printf("%d ", f[i]);
}
return 0;
}
```
这个程序首先要求用户输入要计算的斐波那契数列项数,然后使用一个数组来存储斐波那契数列。在 for 循环中,我们计算每一项的值并将其存储在数组中,最后再打印出前 n 项的斐波那契数列。
用C语言编写一个计算斐波那契数列第n项的程序
以下是用C语言编写的计算斐波那契数列第n项的程序:
```c
#include <stdio.h>
int main() {
int n, i;
long long int fib1 = 0, fib2 = 1, fib; // 使用 long long int 类型防止数据溢出
printf("请输入要计算的斐波那契数列数列项数:");
scanf("%d", &n);
if (n < 0) {
printf("输入有误,斐波那契数列项数不能小于0!");
return 0;
} else if (n == 0) {
printf("斐波那契数列第0项为0");
return 0;
} else if (n == 1) {
printf("斐波那契数列第1项为1");
return 0;
}
for (i = 2; i <= n; i++) { // 从第2项开始计算斐波那契数列
fib = fib1 + fib2; // 计算第i项的值
fib1 = fib2; // 更新前两项的值
fib2 = fib;
}
printf("斐波那契数列第%d项为%lld", n, fib);
return 0;
}
```
运行结果示例:
```
请输入要计算的斐波那契数列数列项数:10
斐波那契数列第10项为55
```
阅读全文