用c语言求解斐波那契第n列的值
时间: 2024-09-29 16:12:03 浏览: 17
在C语言中,求解斐波那契数列(Fibonacci sequence)的第n项通常可以使用递归或循环两种方法。由于递归对于大的n值可能会导致大量的函数调用和效率较低,这里我们介绍一种更高效的方式来计算第n项——迭代法。
```c
#include <stdio.h>
// 使用循环计算斐波那契数列的第n项
int fibonacci(int n) {
if (n <= 0) {
printf("错误:输入的n值无效。");
return -1;
} else if (n == 1 || n == 2) {
return n - 1; // 斐波那契序列的前两项是0和1
}
int prev = 0, current = 1;
for (int i = 3; i <= n; i++) {
int next = prev + current;
prev = current;
current = next;
}
return current;
}
int main() {
int n;
printf("请输入你要查找的斐波那契数列的位置(n): ");
scanf("%d", &n);
int fib_n = fibonacci(n);
if (fib_n != -1) {
printf("斐波那契数列的第%d项是:%d\n", n, fib_n);
}
return 0;
}
```