//map函数统计每个字母出现的次数
#include <stdio.h>
#include <iostream>
using namespace std;
#include <string>
#include <map>
int main()
{
map<char,int> ms; //关联性容器,键值对形式,创建一个map对象,key是字母,value是出现次数
map<char,int>::iterator p,mEnd; //创建两个map迭代器
string s; //定义一个字符串
cin >> s; //输入字符串s
int len = s.length();
for(int i = 0;i < len;i++) //对于s的每个字符
{
p=ms.find(s[i]); //在迭代器中查找该字符
if(p != ms.end()) //如果没有查找到最后一个
p -> second++; //对应字符个数+1
else //如果ms中并没有该字符
ms.insert(pair<char,int>(s[i],1)); //插入
}
p = ms.begin();
mEnd = ms.end();
for( ;p != mEnd;p++)
printf("%c,%d\n",p->first,p->second);
return 0;
}
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交