#include<iostream.h>
int main()
{
char line[128];
int cnt[26], n;
int i, j, k;
for(i=0;i<26;i++){
cnt[i]=0;
}
for(i=0;i<4;i++){
cin.getline(line,128);
j=0;
while(line[j]!='\0'){
if('A'<=line[j]&&line[j]<='Z'){
cnt[line[j]-'A']++;
}
j++;
}
}
n=0;
for(i=0;i<26;i++){
if(n<cnt[i]){
n=cnt[i];
}
}
while(n>0){
//求出直方图第n行的行尾为止j
for(j=25;j>=0;j--){
if(cnt[j]>=n){
break;
}
}
for(k=0;k<=j;k++){
if(cnt[k]>=n){
cout<<'*';
}
else{
cout<<' ';
}
if(k!=j){
//输出列间间隔符
cout<<' ';
}
}
cout<<endl;
n--;
}
cout<<'A';
for(i=1;i<26;i++){
cout<<' '<<char('A'+i);
}
cout<<endl;
return 0;
}
poj 2136.Vertical Histogram
最新推荐文章于 2021-03-15 11:40:25 发布