从键盘上输入若干字符串,直到输入字符串“000”为止,将除“000”字符串以外的所有字符串添加到关联式容器中,输出容器中的所有元素值
时间: 2023-09-24 07:06:33 浏览: 71
### 回答1:
#include <iostream>
#include <string>
#include <map>
int main() {
std::map<std::string, int> container;
std::string input;
while (std::cin >> input && input != "000") {
container[input]++;
}
for (const auto& p : container) {
std::cout << p.first << " " << p.second << std::endl;
}
return 0;
}
### 回答2:
关联式容器是一种能够根据关键字进行快速检索的容器,例如map和set。
首先,我们需要一个关联容器来存储输入的字符串,这里我选择使用set容器。然后,我们可以使用一个循环来实现输入字符串并将其存储进容器的操作。
下面是实现的代码:
#include <iostream>
#include <set>
using namespace std;
int main() {
string str;
set<string> container;
cout << "请输入字符串(输入000结束):" << endl;
while (cin >> str && str != "000") { // 输入字符串直到输入为000为止
container.insert(str); // 将字符串插入容器中
}
cout << "容器中的所有元素值为:" << endl;
for (const auto& element : container) { // 遍历容器中的所有元素
cout << element << endl; // 输出元素值
}
return 0;
}
以上代码先声明了一个string类型的变量str用于存储输入的字符串,并声明了一个set容器container。
进入循环后,先输出一条提示信息,要求输入字符串。然后使用while循环,当输入不为"000"时,将输入的字符串插入容器container中。这样循环进行。
循环退出后,使用range-based for循环遍历容器container中的所有元素,并输出其值。
最后,程序返回0表示成功结束。
希望对您有帮助!
### 回答3:
关联式容器是一种以键值对的形式存储元素的容器,常见的有map和set。
我假设题目中的关联式容器是map,键为字符串,值为该字符串在容器中出现的次数。
首先,我们创建一个空的map容器。
然后,通过循环,从键盘上输入字符串,直到输入字符串为"000"为止。在每次输入字符串时,我们判断该字符串是否为"000"。
如果不是"000",则将该字符串添加到map容器中。如果该字符串已经存在于容器中,则将其值加1;如果不存在,则将其添加到容器中,并设置初始值为1。
最后,我们输出map容器中的所有键值对。遍历map容器,输出每个键值对的键和值。
示例代码如下:
```cpp
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<std::string, int> container;
std::string input;
while (true) {
std::cout << "请输入字符串:";
std::cin >> input;
if (input == "000") {
break;
}
container[input]++;
}
std::cout << "容器中的元素值为:" << std::endl;
for (const auto& pair : container) {
std::cout << pair.first << ":" << pair.second << std::endl;
}
return 0;
}
```
这样,我们就可以通过从键盘上输入字符串,直到输入字符串为"000"为止,将除"000"字符串以外的所有字符串添加到关联式容器中,并输出容器中的所有元素值。