给我写一个斐波那契数列c语言程序
时间: 2023-05-28 11:07:06 浏览: 131
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
int main() {
int n, i;
printf("请输入一个正整数n:");
scanf("%d", &n);
printf("斐波那契数列的前%d项为:\n", n);
for (i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return 0;
}
// 示例输入:10
// 示例输出:
// 请输入一个正整数n:10
// 斐波那契数列的前10项为:
// 0 1 1 2 3 5 8 13 21 34
相关问题
斐波那契数列C语言程序设计
下面是一个简单的斐波那契数列的C语言程序:
```c
#include <stdio.h>
int fibonacci(int n) {
if (n <= 1) {
return n;
}
return fibonacci(n-1) + fibonacci(n-2);
}
int main() {
int n, i;
printf("请输入斐波那契数列的长度: ");
scanf("%d", &n);
printf("斐波那契数列为:");
for(i=0; i<n; i++) {
printf(" %d", fibonacci(i));
}
return 0;
}
```
这个程序首先定义了一个名为 `fibonacci` 的函数来计算第 `n` 个斐波那契数。如果 `n` 小于等于 1,则函数直接返回 `n`,否则函数返回第 `n-1` 个斐波那契数和第 `n-2` 个斐波那契数之和。
接着,主函数要求用户输入斐波那契数列的长度,并使用 `for` 循环调用 `fibonacci` 函数来打印出数列中的每个元素。
例如,如果用户输入了长度为 10 的数列,程序将打印出以下内容:
```
请输入斐波那契数列的长度: 10
斐波那契数列为: 0 1 1 2 3 5 8 13 21 34
```
注意,对于较大的输入,这个程序的运行时间会很长,因为它使用了递归来计算斐波那契数。在实际编程中,应该使用迭代算法来计算斐波那契数,以提高效率。
用c语言写一个斐波那契数列的程序
当然可以。在C语言中编写一个简单的斐波那契数列生成器通常采用递归或循环的方式。这里给出两种常见的实现方法:
**方法一:递归**
```c
#include <stdio.h>
// 递归函数计算第n个斐波那契数
int fibonacci_recursive(int n) {
if (n <= 1)
return n;
else
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2);
}
int main() {
int n, i;
printf("请输入一个正整数:");
scanf("%d", &n);
for (i = 0; i < n; ++i) {
printf("%d ", fibonacci_recursive(i));
}
printf("\n");
return 0;
}
```
**方法二:循环**
```c
#include <stdio.h>
// 循环方式计算斐波那契数
void fibonacci_iterative(int n) {
int a = 0, b = 1, c;
if (n <= 1)
return;
printf("%d ", a);
while (--n > 0) {
c = a + b;
a = b;
b = c;
printf("%d ", c);
}
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
fibonacci_iterative(n);
return 0;
}
```
阅读全文
相关推荐













