2、编写一个程序,将从键盘输入的n个字符串保存在一个一维数组A中。在输入字符串之前,先输入n的值。要求,数组A需要动态申请空间,程序运行结束前再释放掉。
时间: 2024-11-30 07:15:02 浏览: 2
一维数组带有一个方括号的数组。a[]-全国二级c语音
为了编写这样一个程序,你可以使用C++的`cin`来获取用户输入的整数n,然后利用动态内存分配功能(如`new[]`)创建一个动态的一维字符数组。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入要存储的字符串的数量(n): ";
cin >> n;
// 动态分配数组
char* arr = new char[n * sizeof(char)]; // 空间大小为n个字符
if (arr) { // 检查是否成功分配内存
cout << "请输入" << n << "个字符串:\n";
for (int i = 0; i < n; i++) {
cin.getline(arr + i, n, '\n'); // 读取每个字符串并存入数组
}
// 使用完后记得处理字符串
for (int i = 0; i < n; i++) {
cout << "String " << i+1 << ": " << arr[i] << endl;
}
// 释放内存
delete[] arr;
cout << "内存已释放。\n";
} else {
cout << "内存分配失败!\n";
}
return 0;
}
```
在这个程序中,我们首先询问用户想要存储多少个字符串,接着分配足够的空间来存储这些字符串。然后逐个从键盘接收输入,并将其存储到数组中。最后,当我们不再需要数组时,会释放它所占用的内存。
阅读全文