样例输入输出
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
char str[80];
//num存放每个字母出现次数
int num[26] = {0};
int main()
{
int n = 4, max = 0;
while(n--) {
gets(str);
for(int i = 0; i < strlen(str); ++i) {
switch(str[i]) {
case 'A': num[0]++;break;
case 'B': num[1]++;break;
case 'C': num[2]++;break;
case 'D': num[3]++;break;
case 'E': num[4]++;break;
case 'F': num[5]++;break;
case 'G': num[6]++;break;
case 'H': num[7]++;break;
case 'I': num[8]++;break;
case 'J': num[9]++;break;
case 'K': num[10]++;break;
case 'L': num[11]++;break;
case 'M': num[12]++;break;
case 'N': num[13]++;break;
case 'O': num[14]++;break;
case 'P': num[15]++;break;
case 'Q': num[16]++;break;
case 'R': num[17]++;break;
case 'S': num[18]++;break;
case 'T': num[19]++;break;
case 'U': num[20]++;break;
case 'V': num[21]++;break;
case 'W': num[22]++;break;
case 'X': num[23]++;break;
case 'Y': num[24]++;break;
case 'Z': num[25]++;break;
}
}
}
for(int i = 0; i < 26; ++i) {
if(num[i] >= max)
max = num[i];
}
int matrix[max][26] = {0};
for(int j = 0; j < 26; ++j) {
for(int i = 0; i < num[j]; ++i) {
matrix[max - i - 1][j] = 1;
}
}
for(int i = 0; i < max; i++) {
for(int j = 0; j < 26; j++) {
if(matrix[i][j] == 1)
printf("*");
else
printf(" ");
}
printf("\n");
}
cout << "ABCDEFGHIJKLMNOPQRSTUVWXYZ\n" << endl;
return 0;
}