代码如下
#include <bits/stdc++.h>
using namespace std;
char a[105],b[105],c[105],d[105];
char str[305][52];
int sum[26];
int main()
{
gets(a);
gets(b);
gets(c);
gets(d);
size_t a1=strlen(a);
size_t b1=strlen(b);
size_t c1=strlen(c);
size_t d1=strlen(d);
int k;
for(int i=0;i<a1;i++)
{
if(a[i]>='A'&&a[i]<='Z')
{
k=a[i]-'A';
sum[k]++;
}
}
for(int i=0;i<b1;i++)
{
if(b[i]>='A'&&b[i]<='Z')
{
k=b[i]-'A';
sum[k]++;
}
}
for(int i=0;i<c1;i++)
{
if(c[i]>='A'&&c[i]<='Z')
{
k=c[i]-'A';
sum[k]++;
}
}
for(int i=0;i<d1;i++)
{
if(d[i]>='A'&&d[i]<='Z')
{
k=d[i]-'A';
sum[k]++;
}
}
int max=sum[0];
for(int i=1;i<=25;i++)
{
if(sum[i]>max)
max=sum[i];
}
for(int i=0;i<=50;i++)
{
for(int j=0;j<=2*max;j++)
str[j][i]=' ';
}
for(int i=0;i<=25;i++)
{
str[0][2*i]='A'+i;
while(sum[i]!=0)
{
str[2*sum[i]][2*i]='*';
sum[i]--;
}
}
for(int i=max*2;i>=1;i--) //行
{
for(int j=0;j<=50;j++) //列
cout<<str[i][j];
cout<<endl;
}
for(int j=0;j<=50;j++)
cout<<str[0][j];
return 0;
}