其实这道题输出上有点恶心,本蒟蒻只能这样做,神犇们勿喷
#include <bits/stdc++.h>
using namespace std;
int main()
{
char n[161];
int a[27]={0},max=-2147483648;
while(gets(n))//统计字母出现次数
{
for(int i=0;i<strlen(n);i++)
if(n[i]!=' ')
a[n[i]-'A']++;
}
for(int i='A'-'A';i<='Z'-'A';i++)//统计最大值(在打印时优先打)
if(a[i]>max)
max=a[i];
int max2=max;//备份*1
for(int i=max2;i>=1;i--){//从输出的最高行向下打印
for(char j='A'-'A';j<='Z'-'A';j++){
if(a[j]-max>=0)//如果做大出现次数达到
cout<<"* ";//输出一个*
else
cout<<" ";
}
max--;
cout<<endl;
}
for(char i='A';i<='Z';i++)//打印A到Z字符
cout<<i<<" ";
return 0;
}