c语言不用递归写斐波那契数列
时间: 2024-12-20 16:15:10 浏览: 6
C语言数据结构递归之斐波那契数列
5星 · 资源好评率100%
在C语言中,不使用递归编写斐波那契数列的一种常见方法是使用循环结构,比如for或while循环。这里有一个简单的示例:
```c
#include <stdio.h>
// 动态规划函数,用于计算斐波那契数列
int fibonacci(int n) {
if (n <= 0) {
return 0;
}
int fib[2] = {0, 1}; // 初始化数组,存储前两个数
for (int i = 2; i <= n; i++) {
fib[i % 2] = fib[(i - 1) % 2] + fib[(i - 2) % 2]; // 只保留奇数位置的数
}
return fib[n];
}
int main() {
int n = 10; // 想要计算的斐波那契数的位置
printf("The %dth Fibonacci number is: %d\n", n, fibonacci(n));
return 0;
}
```
这个程序通过循环遍历并逐次计算斐波那契数,避免了递归可能导致的性能问题和栈溢出的风险。
阅读全文