本文最后更新于 187 天前,其中的信息可能已经有所发展或是发生改变。
编写一个程序,从键盘接收一个字符串,完成对字符串中的字符出现的次数的统计。
输入格式:
键盘接收字符串,以回车符结束输入。要求全部是小写字符(长度小于255个字符),中间不能出现空格等多余字符。
输出格式:
输出每个字符出现的次数,按字母表升序打印输出。
输入样例:
goodgoodstudydaydayup
输出样例:
a:2
d:5
g:2
o:4
p:1
s:1
t:1
u:2
y:3
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
答案解析
#include<iostream>
#include<cstring>
#include<algorithm>
#include<map>
#include<vector>
using namespace std;
bool cmp(const pair<char,int>a,const pair<char,int>b){
return a.first<b.first;
}
int main(){
string str;
cin>>str;
map<char,int> m;
for(auto &x:str){
m[x]++;
}
vector<pair<char,int>> vec(m.begin(),m.end());
sort(vec.begin(),vec.end(),cmp);
for(int i = 0;i<vec.size();i++){
cout<<vec[i].first<<":"<<vec[i].second<<endl;
}
return 0;
}