#include<iostream>
#include<algorithm>
#include<map>
#include<vector>
#define N 1000
using namespace std;
int cmp(const pair<char,int> &t,const pair<char,int> &u)
{
if(t.second>u.second)
return 1;
else if(t.second == u.second)
{
if(t.first<u.first)
return 1;
else
return 0;
}
return 0;
}
void StatisticSort(char *data)
{
map<char,int> sta;
while(*data !='\0')
{
char temp = *data;
if((temp>='a'&&temp<='z')||(temp>='A'&&temp<='Z')||temp==' '||(temp>='0'&&temp<='9'))
{
sta[temp]++;
}
++data;
}
vector<pair<char,int> > result;
map<char,int>::iterator iter = sta.begin();
for(;iter != sta.end();++iter)
{
result.push_back(make_pair(iter->first,iter->second));
}
sort(result.begin(),result.end(),cmp);
vector<pair<char,int> >::iterator piter = result.begin();
for(;piter != result.end();++piter)
{
cout<<piter->first;
}
cout<<endl;
}
int main()
{
char a[N];
gets(a);
StatisticSort(a);
return 0;
}
华为oj 字符统计
最新推荐文章于 2020-04-12 15:23:13 发布