c语言 斐波那契数列
时间: 2023-12-21 19:31:19 浏览: 36
以下是使用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;
printf("请输入要计算的斐波那契数列的项数:");
scanf("%d", &n);
printf("斐波那契数列的前%d项为:\n", n);
for (int i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
```
相关问题
c语言斐波那契数列
斐波那契数列是指这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。在C语言中,可以使用递归或循环的方式实现斐波那契数列的求解。以下是两种实现方式的代码:
1. 递归实现
```c
#include <stdio.h>
int fibonacci(int n) {
if (n == 0 || n == 1) {
return n;
} else {
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
int main() {
int n;
printf("请输入要求解的斐波那契数列的项数:");
scanf("%d", &n);
printf("斐波那契数列的前%d项为:\n", n);
for (int i = 0; i < n; i++) {
printf("%d ", fibonacci(i));
}
printf("\n");
return 0;
}
```
2. 循环实现
```c
#include <stdio.h>
int main() {
int n, a = 0, b = 1, c;
printf("请输入要求解的斐波那契数列的项数:");
scanf("%d", &n);
printf("斐波那契数列的前%d项为:\n", n);
for (int i = 0; i < n; i++) {
printf("%d ", a);
c = a + b;
a = b;
b = c;
}
printf("\n");
return 0;
}
```
c语言斐波那契数列输出
以下是两种C语言斐波那契数列输出的例子:
1.使用循环语句输出斐波那契数列的前n项
```c
#include <stdio.h>
int main()
{
int n, i;
int f[100] = {0, 1}; // 初始化前两项
printf("请输入要输出的斐波那契数列的项数:");
scanf("%d", &n);
for (i = 2; i < n; i++)
{
f[i] = f[i - 1] + f[i - 2]; // 计算第i项
}
printf("斐波那契数列的前%d项为:\n", n);
for (i = 0; i < n; i++)
{
printf("%d ", f[i]); // 输出前n项
}
printf("\n");
return 0;
}
```
2.使用递归函数输出斐波那契数列的第n项
```c
#include <stdio.h>
int fib(int n)
{
if (n == 0 || n == 1)
{
return n; // 前两项为0和1
}
else
{
return fib(n - 1) + fib(n - 2); // 递归计算第n项
}
}
int main()
{
int n;
printf("请输入要输出的斐波那契数列的项数:");
scanf("%d", &n);
printf("斐波那契数列的第%d项为:%d\n", n, fib(n));
return 0;
}
```