编写一个C++风格的程序,用动态分配空间的方法,计算Fibonacci数列的前20项并存储到动态分配的空间中。
时间: 2024-09-07 13:03:35 浏览: 59
斐波那契数列前20项.docx
5星 · 资源好评率100%
在C++中,我们可以使用动态内存分配(malloc或new运算符)来创建数组,并计算斐波那契数列的前20项。以下是相关的代码示例:
```cpp
#include <iostream>
// 斐波那契函数,动态计算第n项
int fibonacci(int n) {
if (n <= 0) return 0;
else if (n == 1) return 1;
else {
int *fib = new int[n]; // 动态分配n个整型空间
fib[0] = 0;
fib[1] = 1;
for (int i = 2; i < n; ++i)
fib[i] = fib[i - 1] + fib[i - 2];
// 计算完后记得释放内存
delete[] fib;
return fib[n - 1];
}
}
int main() {
int size = 20;
int* fibonacci_sequence = new int[size]; // 动态分配存储序列的空间
for (int i = 0; i < size; ++i) {
fibonacci_sequence[i] = fibonacci(i);
std::cout << "Fibonacci(" << i+1 << ") = " << fibonacci_sequence[i] << " ";
}
std::cout << "\n";
delete[] fibonacci_sequence; // 释放内存
return 0;
}
```
在这个程序中,我们首先定义了一个`fibonacci`函数,它通过递归计算斐波那契数。然后,在`main`函数中,我们动态地分配了足够的空间来存储前20项的斐波那契数,接着依次计算并将结果存储到这个动态数组中。最后别忘了释放动态分配的内存。
阅读全文