统计字母个数,按从大到小的顺序输出,如果个数相同,按字母顺序输出。
#include<iostream>
#include<string.h>
#include<stdio.h>
#include<ctype.h>
#include<cmath>
using namespace std;
int main()
{
int al[30]= {0};
int n;
cin>>n;
getchar();
char str[1000][1000];
for(int i=0; i<n; i++)
{
gets(str[i]);
int len=strlen(str[i]);
for(int j=0; j<len; j++)
{
str[i][j]=toupper(str[i][j]);
if(str[i][j]<='Z'&&str[i][j]>='A')
al[str[i][j]-'A']++;
}
}
while(1)
{
int max=-1;
for(int i=0;i<26;i++)
if(al[i]>max)
max=al[i];
if(max==0)
break;
for(int i=0;i<26;i++)
if(al[i]==max)
{printf("%c %d\n",i+'A',al[i]);al[i]=0;}
}
return 0;
}