https://vjudge.net/problem/UVA-10008
注意输出不一定包含所有字母
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<cctype>
using namespace std;
struct AA{
char c;
int s;
}aa[30];
bool cmp(AA a,AA b){
if(a.s==b.s)return a.c<b.c;
return a.s>b.s;
}
int main(){
int n;
cin>>n;
char c;
int t;
for(int i=0;i<26;i++){
aa[i].c=i+'A';
}
while((c=getchar())!=EOF){
c=tolower(c);
t=c-'a';
if(t>=0&&t<26)
aa[t].s++;
}
sort(aa,aa+26,cmp);
for(int i=0;i<26;i++){
if(aa[i].s==0)break;
printf("%c %d\n",aa[i].c,aa[i].s);
}
return 0;
}