2.1编写一个c语言程序,使用while循环计算斐波那契数列的前n项。要求用户输入n的值,并将计算的数列结果输出。斐波那契数列的定义是:第一个和第二个数字都是1,从第三项开始,每一项都等于前两项之和。
时间: 2024-10-27 19:14:12 浏览: 32
C语言数据结构递归之斐波那契数列
5星 · 资源好评率100%
当你需要编写一个C语言程序来计算斐波那契数列的前n项时,可以按照以下步骤操作:
```c
#include <stdio.h>
// 函数定义用于计算斐波那契数列的第n项
int fibonacci(int n) {
if (n <= 0) {
printf("错误: 输入的数值必须大于0.\n");
return -1;
}
else if (n == 1 || n == 2) {
return 1;
}
else {
int fib_n_1 = 1; // 第n-1项
int fib_n_2 = 1; // 第n-2项
for (int i = 3; i <= n; i++) {
int fib_i = fib_n_1 + fib_n_2;
fib_n_1 = fib_n_2;
fib_n_2 = fib_i;
}
return fib_n_2;
}
}
int main() {
int n;
printf("请输入你想计算的斐波那契数列的项数(大于0): ");
scanf("%d", &n);
while (n <= 0) { // 验证用户输入是否有效
printf("错误: 输入的数值必须大于0.\n");
printf("请输入你想计算的斐波那契数列的项数(大于0): ");
scanf("%d", &n);
}
printf("斐波那契数列的前%d项是:\n", n);
for (int i = 1; i <= n; i++) {
printf("%d ", fibonacci(i));
}
return 0;
}
```
在这个程序中,我们首先定义了一个`fibonacci`函数来递归地计算斐波那契数列的第n项。然后,在主函数里,通过while循环获取用户的输入并验证其有效性,最后打印出计算得到的结果。
阅读全文