C++ 高手求助,从键盘接收用户输入的一个字符串,创建一个map对象,用来记录每个单词出现的次数,
看到这个问题后我的第一个反应是创建一个函数利用while循环判断到字符串末尾然后从中在if当然要设置一个记录次数的变量,但是这里它一定要用map我实在不知道如何去写。还请...
看到这个问题后我的第一个反应是 创建一个函数 利用while循环判断到字符串末尾 然后从中在if 当然要设置一个记录次数的变量,但是这里它一定要用map 我实在不知道如何去写。 还请高手教教我
展开
1个回答
展开全部
#include <iostream>
#include <string>
#include <map>
using namespace std;
map<string,int>mp;
int main()
{
string strBuffer;
//输入INPUTEND 表示单词录入结束,输出结果。
while ( cin >> strBuffer && strBuffer != "INPUTEND" )
{
mp[ strBuffer ]++;
}
for (map<string,int>::iterator iter = mp.begin();iter!=mp.end();++iter)
{
cout<<"单词: "<<iter->first<<" 出现 "<<iter->second<<"次"<<endl;
}
return 0;
}
代码不懂可以继续问我。
#include <string>
#include <map>
using namespace std;
map<string,int>mp;
int main()
{
string strBuffer;
//输入INPUTEND 表示单词录入结束,输出结果。
while ( cin >> strBuffer && strBuffer != "INPUTEND" )
{
mp[ strBuffer ]++;
}
for (map<string,int>::iterator iter = mp.begin();iter!=mp.end();++iter)
{
cout<<"单词: "<<iter->first<<" 出现 "<<iter->second<<"次"<<endl;
}
return 0;
}
代码不懂可以继续问我。
追问
我明白了。是不是这样的如果没有
for (map::iterator iter = mp.begin();iter!=mp.end();++iter)
{
然后输入他只会输出总共的输入次数, 如果用了上面的循环的话,map容器自动会把每个关键字 与之对应的次数统计起来是吧?这也是map 重要的特征了吧?
追答
map::iterator 是迭代器,就相当于遍历MAP的工具。
用了这个我们可以遍历map容器。
获取map容器中的内容。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询