#include <stdio.h>
#include <string.h>
char str[1000],ans[26][100];
int array[26],tmp[26];
int main()
{
int i,j,k,l,t,len;
for(i=0;i<4;i++)
{
gets(str);
len = strlen(str);
for(j=0;j<len;j++)
{
if(str[j]>='A'&&str[j]<='Z')
{
array[str[j]-'A']++;
}
}
}
for(i=0;i<26;i++)
{
tmp[i] = array[i];
}
for(i=0;i<25;i++)
{
for(j=i+1;j<26;j++)
{
if(tmp[j]<tmp[i])
{
t = tmp[i];
tmp[i] = tmp[j];
tmp[j] = t;
}
}
}
for(j=0;j<26;j++)
{
for(k=tmp[25]-1,l=0;l<array[j];k--,l++)
{
ans[k][j] = '*';
}
}
for(i=0;i<tmp[25];i++)
{
for(j=0;j<26;j++)
{
if(ans[i][j]=='*')
{
printf("* ");
}
else
{
printf(" ");
}
}
printf("\n");
}
printf("A B C D E F G H I J K L M N O P Q R S T U V W X Y Z");
return 0;
}
这个代码本地输出是没问题的 但是最后一个点RE 然后只要把str[1000]改成str[101]就能AC 这是为什么