C语言求 Fibonacci 数列前30个数。这个数列有如下特点:第1,2两个数为 1,1。从第3个数开始,该数是其前面两个数之和。要求每行打印5个 Fi bonacci 数。
时间: 2024-06-01 11:10:29 浏览: 71
#include <stdio.h>
int main() {
int n = 30; // 要求的 Fibonacci 数列个数
int a = 1, b = 1, c; // a, b 分别为前两个数,c 为当前数
int count = 0; // 计数器,每行打印 5 个数
printf("%d %d ", a, b); // 先打印前两个数
count += 2;
for (int i = 3; i <= n; i++) {
c = a + b; // 计算当前数
printf("%d ", c); // 打印当前数
count++;
if (count == 5) { // 每行打印 5 个数
printf("\n"); // 换行
count = 0; // 计数器清零
}
a = b; // 更新前两个数
b = c;
}
return 0;
}
相关问题
用c语言写出2求Fibonacci数列的前40个数。这个数列有如下特点:第 12个数为11从第三个数开始,该数是前两个数之和(不允许使用数组
以下是用 C 语言写出求 Fibonacci 数列前 40 个数的代码:
#include <stdio.h>
int main() {
int a = 0, b = 1, c, i;
printf("%d %d ", a, b);
for (i = 3; i <= 40; i++) {
c = a + b;
printf("%d ", c);
a = b;
b = c;
}
return 0;
}
这个程序中,我们使用了两个变量 a 和 b 来存储前两个数,然后用一个循环来计算后面的数。每次计算出一个数后,我们将 a 和 b 分别更新为前一个数和当前数,以便下一次计算。最后输出前 40 个数即可。
C语言用for语句实现前20项Fibonacci数。 这个数列有如下特点:第1、2两个数为1,1.从第3个数开始,该数是其前面两个数之和。
在C语言中,我们可以使用for循环结合递归或动态数组的方式来生成前20项的斐波那契数列。这里我们展示一种使用动态数组的方法:
```c
#include <stdio.h>
#define MAX_FIB 21
int fib[MAX_FIB]; // 创建一个数组来存储斐波那契数
void fibonacci(int n) {
if (n <= 0) {
printf("Invalid input! Fibonacci sequence starts from 1.\n");
return;
}
fib[0] = 0; // 第一项
fib[1] = 1; // 第二项
for (int i = 2; i < n; i++) { // 从第三项开始计算
fib[i] = fib[i - 1] + fib[i - 2];
}
// 打印前20项
for (int i = 0; i < 20; i++) {
printf("%d ", fib[i]);
}
printf("\n");
}
int main() {
fibonacci(20);
return 0;
}
```
在这个程序中,`fibonacci`函数首先初始化前两项,然后通过for循环依次计算并存储后续的斐波那契数。最后,在`main`函数中调用`fibonacci(20)`来打印前20项。
阅读全文