2. 用c++写,用new运算符为一个包含20个整数的数组分配内存,输入数据并统计其中正数和负数的个数,并输出结果后使用delete运算符释放空间。
时间: 2024-10-22 10:14:04 浏览: 21
c++与数据结构基础简明教程课后习题答案.pdf
5星 · 资源好评率100%
在C++中,可以使用`new`运算符动态为数组分配内存,然后读取用户输入的数据,统计正数和负数的数量。最后,使用`delete[]`释放已分配的空间。以下是完整的代码示例:
```cpp
#include <iostream>
using namespace std;
int main() {
int size = 20; // 定义数组大小
int* arr = new int[size]; // 动态分配内存
cout << "Enter " << size << " integers:" << endl;
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
int positiveCount = 0, negativeCount = 0;
for (int num : arr) {
if (num > 0) {
positiveCount++;
} else if (num < 0) {
negativeCount++;
}
}
cout << "Positive numbers: " << positiveCount << endl;
cout << "Negative numbers: " << negativeCount << endl;
delete[] arr; // 释放内存
cout << "Memory released." << endl;
return 0;
}
```
在这个程序中,我们首先创建一个指向 `int` 类型的指针 `arr` 并使用 `new` 分配了20个 `int` 单元的内存。接着读取用户输入并将它们存储到这个数组中。遍历数组,计算正数和负数的数量,最后释放内存。
阅读全文