2. 用new运算符为一个包含20个整数的数组分配内存,输入数据并统计其中正数和负数的个数,并输出结果后使用delete运算符释放空间。
时间: 2024-10-17 09:06:55 浏览: 28
C语言编程题练习.pdf
在C++中,你可以按照以下步骤完成这个任务:
1. **动态内存分配**:
```cpp
#include <iostream>
using namespace std;
int main() {
int size = 20; // 定义数组大小
int* arr = new int[size]; // 使用new为数组分配内存
// 输入数据
for (int i = 0; i < size; i++) {
cout << "请输入第" << i+1 << "个整数: ";
cin >> arr[i];
}
// 统计正数和负数
int positiveCount = 0, negativeCount = 0;
for (int num : arr) {
if (num > 0) {
positiveCount++;
} else if (num < 0) {
negativeCount++;
}
}
// 输出结果
cout << "正数有: " << positiveCount << ", 负数有: " << negativeCount << endl;
// 释放内存
delete[] arr; // 使用delete[]操作符释放整个数组所占的内存
return 0;
}
```
在这个程序中,我们首先创建了一个动态数组`arr`来存储20个整数。然后通过循环读取用户输入并将数值存入数组。接着遍历数组计算正数和负数的数量。最后输出结果,并记得用`delete[] arr`释放之前分配的内存。
阅读全文