1.多个测试样例,每一个是四行字符串
2.在图表的每一行的最后一颗星之后,不能有空格
3.每两个测试样例之间应该有换行
总体思路:1.读入字符串
2.找出字母出现次数的最大值max
3.图表除去最后的字母部分,一共应该有max行
4.画图
#include<iostream>
using namespace std;
int main() {
string a[4];
int zimu[26];
while(getline(cin,a[0])) {
getline(cin,a[1]);
getline(cin,a[2]);
getline(cin,a[3]);
for(int i=0; i<26; i++) {
zimu[i]=0;
}
for(int i=0; i<4; i++) {
for(int j=0; j<a[i].size(); j++) {
if(a[i][j]>='A'&&a[i][j]<='Z') {
zimu[a[i][j]-'A']++;
}
}
}
int max=0;
for(int i=0; i<26; i++) {
if(zimu[i]>max)max=zimu[i];
}
for(int i=max; i>=1; i--) {
for(int j=0; j<26; j++) {
if(zimu[j]>=i) {
cout<<"*";
bool flag=true;
for(int k=j+1; k<26; k++) {
if(zimu[k]>=i) {
flag=false;
break;
}
}
if(flag)
break;
} else cout<<" ";
if(j!=25)
cout<<" ";
}
cout<<endl;
}
for(int i=0; i<26; i++) {
char c='A'+i;
cout<<c;
if(i!=25)cout<<" ";
}
cout<<endl;
}
return 0;
}