如何使用C++编写一个程序来接收用户输入的n个字符串并将它们存储在一维字符数组A中?在开始之前,请确认程序是否能够处理用户指定的任意数量(n)的字符串输入,并确保数组大小足够容纳所有输入。
时间: 2024-11-30 15:18:33 浏览: 4
在C++中,你可以使用`std::vector`来代替一维字符数组,因为它能自动管理内存,并且可以动态调整大小。以下是处理任意数量字符串输入的简单示例:
```cpp
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
vector<string> A; // 创建一个空的vector用于存储字符串
cout << "请输入字符串的数量(n): ";
int n;
cin >> n;
// 确保数组大小足够
if (n > 0) {
A.resize(n); // 预先扩容以适应n个字符串
} else {
cout << "错误:需要至少一个字符串。\n";
return 1;
}
// 接收用户输入并添加到vector中
for (int i = 0; i < n; ++i) {
cout << "请输入第" << (i+1) << "个字符串: ";
getline(cin, A[i]);
}
// 输出数组中的字符串
cout << "你输入的字符串为:\n";
for (const auto& str : A) {
cout << str << endl;
}
return 0;
}
```
在这个程序中,我们首先创建一个空的`vector`,然后让用户输入他们想要的字符串数量。如果输入大于零,我们就扩大`vector`的容量来容纳这些字符串。接着,我们循环n次来接收用户输入,并将每个字符串添加到`vector`中。最后,我们遍历`vector`并打印出所有的字符串。
阅读全文