c++用new运算符为一个包含20个整数的数组分配内存,输入数据并统计其中正数和负数的个数,并输出结果后使用delete运算符释放空间
时间: 2024-10-16 22:09:23 浏览: 7
在C++中,你可以使用`new`运算符动态地为数组分配内存,然后使用`std::cin`从用户那里获取输入数据,遍历数组统计正数和负数的数量,最后通过`delete[]`运算符释放内存。以下是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
int main() {
int size = 20; // 定义数组大小
int* arr = new int[size]; // 使用new为数组分配内存
// 输入20个整数
for (int i = 0; i < size; ++i) {
cout << "请输入第" << (i + 1) << "个整数: ";
cin >> arr[i];
}
int positive_count = 0, negative_count = 0;
// 遍历数组统计正数和负数
for (int num : arr) {
if (num > 0) {
positive_count++;
} else if (num < 0) {
negative_count++;
}
}
// 输出结果
cout << "正数有: " << positive_count << ", 负数有: " << negative_count << endl;
// 释放内存
delete[] arr;
cout << "内存已释放!" << endl;
return 0;
}
```
在这个程序中,我们首先声明了一个指向整数的指针,并使用`new`分配了足够的内存存储20个整数。接着,用户依次输入这些数值,我们在循环中检查每个数的正负,并累加计数。最后,使用`delete[]`删除先前动态分配的内存。
阅读全文