统计字符串中字符的个数
输入一串全是字母(没有空格回车等多余字符)的字符串,
要求把里面各字母数量对应输出(不需要按a-z字典顺序)
举例
输入
hello
输出
h 1
e 1
l 2
o 1
#include<bits/stdc++.h>
using namespace std;
string str;
map<char,int> mymap;
int main(){
ios::sync_with_stdio(0);
cin>>str; //hello
for(int i = 0; i < str.length();i++){
mymap[str[i]]++;
}
/*
迭代器遍历:map<char,int>::iterator it 是定义了一个迭代器
mymap.begin() 是map的头
mymap.end() 是map的尾,尾是null,不存在值的
it++,只能++,不要+=1,it=it+1,这种,它不是int数字,
++是跳下一个,固定用法,不能当做int看待
这样it就会表示map的某个元素,it->first 取到的是键,it->second 取到的是值
只能写it!=m.end(),不能写it<m.end(),这种,it,m.end()都不是数字,不能用作大小比较
*/
for(map<char,int>::iterator it=mymap.begin();it!=mymap.end();it++) {
cout<<(it->first)<<" "<<(it->second)<<endl;
}
return 0;
}