1.输入一组单词(区分大小写),统计首字母相同的单词的个数。
set很好的利用了相同单词不累加的特性
map很好的显示了统计特性,而且没有出现的字母不会插入到map
#include <iostream>
#include <string>
#include <map>
#include <set>
using namespace std;
main()
{
set<string> sset;
map<char,int> cmap;
string s;
while(cin>>s)
{
if(s=="0")
break;
sset.insert(s);
}
set<string>::iterator sit;
for(sit=sset.begin();sit!=sset.end();++sit)
++cmap[(*sit)[0]];
map<char,int>::iterator mit;
for(mit=cmap.begin();mit!=cmap.end();++mit)
cout<<mit->first<<" "<<mit->second<<endl;
/*这里的第二是指每对数值的第二个,就是char,int的第二个,也就是int值了
再因为你的mit取的是map的第一个,即map<char,int>::iterator mit = cmap.begin();
所以你的mit->second返回的是数值中的int的那个值 */
}
/*
boy bad gi