@[Jake3375](/user/855093) 文末不一定有换行。
by ud2_ @ 2023-02-15 08:32:02
@[ud2_](/user/206953) 最后一行使用eof?
by 0x00AC3375 @ 2023-02-15 16:27:20
@[Jake3375](/user/855093) 我稍微帮你改了下格式,用了string,AC了
```cpp
#include<bits/stdc++.h>
using namespace std;
int cnt[1000];
int figure[410][30];//400行26列
int max;//最大的频数决定了柱状图的高度
string line1, line2, line3, line4;
int main()
{
int i=0,max=-1,j=0;
getline(cin, line1);getline(cin, line2);getline(cin, line3);getline(cin, line4);
for(i=0;i < line1.size();i++)
{
if(line1[i]>=65 && line1[i]<=90)
{
cnt[line1[i]-65]+=1;//统计数量+1
}
}
for(i=0;i < line2.size();i++)
{
if(line2[i]>=65 && line2[i]<=90)
{
cnt[line2[i]-65]+=1;//统计数量+1
}
}
for(i=0;i < line3.size();i++)
{
if(line3[i]>=65 && line3[i]<=90)
{
cnt[line3[i]-65]+=1;//统计数量+1
}
}
for(i=0;i < line4.size();i++)
{
if(line4[i]>=65 && line4[i]<=90)
{
cnt[line4[i]-65]+=1;//统计数量+1
}
}
for(i=0;i<=25;i+=1)
{
if(max<cnt[i]) max=cnt[i];
}
for(i=0;i<=25;i+=1)
{
for(j=0;j<=cnt[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;
}
```
by Loser_Syx @ 2023-02-17 17:45:50