#include<stdio.h>
int findmax(int* str);
int main()
{
int count[30] = { 0 };
char output[1000][1000] = { '\0' };
for(int i=0;i<4;i++)
{
char str[100] = { '\0' };
gets(str);
for (int i=0; str[i] != '\0'; i++)
{
count[str[i] - 'A']++;
}
}
int max=count[0];
for(int i=0;i<30;i++)
{
if(count[i]>max)
max=count[i];
}
for (int i = 0; i < 26; i++)
{
for (int j = 0; j < max; j++)
{
output[j][i] = '*';
}
}
for (int x = 0; x < 26; x++)
{
for (int y = 0; y < max - count[x]; y++)
{
output[y][x] = '\0';
}
}
for (int j=0; j < max ;j++)
{
for (int i= 0; i<26; i++)
{
printf("%c ",output[j][i]);
}
printf("\n");
}
for(int i='A';i<'Z';i++)
{
printf("%c ",i);
}
printf("Z");
}
//测试输入
AJFLAHFKSHADFKJF
ADFLSDJFLKSJFKL
AKFDJKDLSANLCVKNDSVL
FLKSAJDFLKSDJFIEN
//(测试输出)
*
*
* * *
* * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
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
洛谷P1598
修改处见注释,供参考:
#include<stdio.h>
int findmax(int* str);
int main()
{
int count[30] = { 0 };
char output[1000][1000] = { '\0' };
for(int i=0;i<4;i++)
{
char str[100] = { '\0' };
gets(str);
for (int i=0; str[i] != '\0'; i++)
{
count[str[i] - 'A']++;
}
}
int max=count[0];
for(int i=0;i<30;i++)
{
if(count[i]>max)
max=count[i];
}
for (int i = 0; i < 26; i++)
{
for (int j = 0; j < max; j++)
{
output[j][i] = '*';
}
}
for (int x = 0; x < 26; x++)
{
for (int y = 0; y < max - count[x]; y++)
{
output[y][x] = '\0';
}
}
for (int j=0; j < max ;j++)
{
for (int i= 0; i<26; i++)
{
printf(i == 0? "%c" : " %c",output[j][i]);//修改
}
printf("\n");
}
for(int i='A';i<='Z';i++)//修改
{
printf(i == 'A' ? "%c" : " %c",i);//修改
}
//printf(" Z"); //修改
return 0;
}