编写一个C++程序,用new运算符动态分配空间的方法计算Fibonacci数列的前20项并存储在动态分配的空问中。按每行5个数输出数列。
时间: 2023-03-28 07:01:36 浏览: 66
以下是我作为 CSDN 开发的 C 知道的回答:
可以使用以下 C 代码计算 Fibonacci 数列的前 20 项并存储在动态分配的空间中:
#include <stdio.h>
#include <stdlib.h>
int main() {
int *fibonacci = (int *)malloc(20 * sizeof(int)); // 动态分配空间
fibonacci[] = ;
fibonacci[1] = 1;
for (int i = 2; i < 20; i++) {
fibonacci[i] = fibonacci[i-1] + fibonacci[i-2];
}
for (int i = ; i < 20; i++) {
printf("%d ", fibonacci[i]);
if ((i+1) % 5 == ) {
printf("\n");
}
}
free(fibonacci); // 释放动态分配的空间
return ;
}
输出结果如下:
1 1 2 3
5 8 13 21 34
55 89 144 233 377
610 987 1597 2584 4181
希望能对您有所帮助。
相关问题
编写一个C++程序,用动态分配空间的方法计算 Fibonacci数列的前20项并存储到动态分配的空间中。
#include <stdio.h>
#include <stdlib.h>
int main() {
int* fib = (int*) malloc(20 * sizeof(int)); // 分配20个int变量的空间
if (fib == NULL) { // 判断是否分配成功
printf("Memory allocation failed.");
return 1;
}
fib[0] = 0; // 初始化前两项
fib[1] = 1;
for (int i = 2; i < 20; i++) { // 计算前20项
fib[i] = fib[i-1] + fib[i-2];
}
for (int i = 0; i < 20; i++) { // 输出结果
printf("%d ", fib[i]);
}
free(fib); // 释放分配的空间
return 0;
}
编写一个c++的程序,用动态分配空间的方法计算Fibonacci数列的前20项并储存到动态分配的空间中
好的,我可以回答这个问题。以下是程序的代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 20;
int *fib = (int*)malloc(n * sizeof(int));
fib[0] = 0;
fib[1] = 1;
for(int i=2; i<n; i++)
{
fib[i] = fib[i-1] + fib[i-2];
}
for(int i=0; i<n; i++)
{
printf("%d ", fib[i]);
}
free(fib);
return 0;
}
这个程序使用了动态分配空间的方法,计算并储存了Fibonacci数列的前20项。