求1~n项Fibonacci数列的数值。 【输入形式】读入正整数值n项的值。 【输出形式】每行输出5个数值,每个数值占8位。输出结束有换行符,用c语言
时间: 2024-10-12 07:10:07 浏览: 44
要计算从1到n的Fibonacci数列,你可以创建一个名为`fibonacci.c`的C程序,使用递归或动态规划的方法来求解。这里给出一个使用动态规划的简单实现,因为递归虽然简洁,但在n较大时效率较低:
```c
#include <stdio.h>
#define SIZE 100
// 动态规划数组,存储Fibonacci数列的值
int fib[SIZE];
void print_fibonacci(int n) {
int i;
// 初始化前两个值
fib[0] = 0;
fib[1] = 1;
// 计算并打印Fibonacci序列
for (i = 2; i <= n; i++) {
fib[i] = fib[i - 1] + fib[i - 2];
if (i % 5 == 0) { // 打印5个数一组
printf("%08d", fib[i]); // 输出8位宽度,不足用0填充
if ((i+1) % 5 != 0) printf(" "); // 如果不是第5个数,加空格分隔
}
}
printf("\n"); // 结束打印一行
}
int main() {
int n;
printf("请输入正整数n: ");
scanf("%d", &n);
if(n >= SIZE) {
printf("n过大,超过数组大小限制。\n");
} else {
print_fibonacci(n);
}
return 0;
}
阅读全文