编写一个C++风格的程序,用动态分配内存的方法计算Fibonacci数列的前20项并存储到动态分配的空间中
时间: 2024-09-22 15:07:55 浏览: 37
在C++中,我们可以使用动态内存分配来创建一个数组存储Fibonacci数列。这里是一个简单的示例程序,它首先定义一个大小为20的动态数组,并利用递归算法计算Fibonacci数列:
```cpp
#include <iostream>
using namespace std;
// 动态分配数组
int* allocateFibonacci(int size) {
int* fibonacci = new int[size];
fibonacci[0] = 0;
fibonacci[1] = 1;
for (int i = 2; i < size; i++) {
fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
}
return fibonacci;
}
// 释放动态分配的内存
void deallocate(int* fibonacci) {
delete[] fibonacci;
}
int main() {
int size = 20;
int* fibArray = allocateFibonacci(size);
// 打印Fibonacci数列
cout << "Fibonacci sequence of the first " << size << " terms:" << endl;
for (int i = 0; i < size; i++) {
cout << fibArray[i] << " ";
}
// 释放内存
deallocate(fibArray);
return 0;
}
```
在这个程序中,`allocateFibonacci`函数负责动态分配内存并计算Fibonacci序列,而`deallocate`函数则用于在程序结束时释放这些内存。
阅读全文