如果是行末的空格问题的话应该会WA的但是居然RE了
#include<cstdio>
int count[30]={0};//统计26个英文字母的出现频次,用0-25表示AtoZ
int figure[410][30];//400行26列
int max;//最大的频数决定了柱状图的高度
char line1[110],line2[110],line3[110],line4[110];//四个字符串
int main()
{
int i=0,max=-1,j=0;
while((line1[i]=getchar())!=10) i+=1;//10表示换行
line1[i]='\0';i=0;
while((line2[i]=getchar())!=10) i+=1;
line2[i]='\0';i=0;
while((line3[i]=getchar())!=10) i+=1;
line3[i]='\0';i=0;
while((line4[i]=getchar())!=10) i+=1;
line4[i]='\0';i=0;//读入4行字符串
for(i=0;line1[i]!='\0';i++)
{
if(line1[i]>=65 && line1[i]<=90)
{
count[line1[i]-65]+=1;//统计数量+1
}
}
for(i=0;line2[i]!='\0';i++)
{
if(line2[i]>=65 && line2[i]<=90)
{
count[line2[i]-65]+=1;//统计数量+1
}
}
for(i=0;line3[i]!='\0';i++)
{
if(line3[i]>=65 && line3[i]<=90)
{
count[line3[i]-65]+=1;//统计数量+1
}
}
for(i=0;line4[i]!='\0';i++)
{
if(line4[i]>=65 && line4[i]<=90)
{
count[line4[i]-65]+=1;//统计数量+1
}
}
for(i=0;i<=25;i+=1)
{
if(max<count[i]) max=count[i];
}
for(i=0;i<=25;i+=1)
{
for(j=0;j<=count[i]-1;j+=1)
{
figure[j][i]=1;//对应数量的1
}
}
for(j=max-1;j>=0;j-=1)
{
for(i=0;i<=25;i+=1)
{
printf("%c ",figure[j][i]==1 ? '*' : 32);//对应位置为1时输出星号,否则输出空格
}
printf("\n");
}
for(i=65;i<=90;i++) printf("%c ",i); //一行大写字母
return 0;
}