想知道为什么wa了,看第一个wa的测试点是对的,


#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

img

img

修改处见注释,供参考:

#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;
}