C++ 高手求助,从键盘接收用户输入的一个字符串,创建一个map对象,用来记录每个单词出现的次数,

看到这个问题后我的第一个反应是创建一个函数利用while循环判断到字符串末尾然后从中在if当然要设置一个记录次数的变量,但是这里它一定要用map我实在不知道如何去写。还请... 看到这个问题后我的第一个反应是 创建一个函数 利用while循环判断到字符串末尾 然后从中在if 当然要设置一个记录次数的变量,但是这里它一定要用map 我实在不知道如何去写。 还请高手教教我 展开
 我来答
fobnn
推荐于2016-11-13 · TA获得超过573个赞
知道小有建树答主
回答量:414
采纳率:0%
帮助的人:348万
展开全部
#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;
}

代码不懂可以继续问我。
追问
我明白了。是不是这样的如果没有
for (map::iterator iter = mp.begin();iter!=mp.end();++iter)
{

然后输入他只会输出总共的输入次数, 如果用了上面的循环的话,map容器自动会把每个关键字 与之对应的次数统计起来是吧?这也是map 重要的特征了吧?
追答
map::iterator 是迭代器,就相当于遍历MAP的工具。

用了这个我们可以遍历map容器。
获取map容器中的内容。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式