80;最后一个数据点WA了
查看原帖
80;最后一个数据点WA了
1077683
Mostly_Harmless楼主2023/11/4 22:59
#include <stdio.h>
#include <string.h>
#include <ctype.h>

void countNum(char text[], int numbers[]);

int main()
{
    char text_1[1000000];
    char text_2[1000000];
    char text_3[1000000];
    char text_4[1000000];
    fgets(text_1, sizeof(text_1), stdin);
    fgets(text_2, sizeof(text_2), stdin);
    fgets(text_3, sizeof(text_3), stdin);
    fgets(text_4, sizeof(text_4), stdin);

    int numbers[26] = {0};
    countNum(text_1, numbers);
    countNum(text_2, numbers);
    countNum(text_3, numbers);
    countNum(text_4, numbers);

    int Maxcnt = 0;
    for (int i = 0; i < 26; i++)
    {
        Maxcnt = (numbers[i] > Maxcnt) ? numbers[i] : Maxcnt;
    }

    int excel[26][410] = {0};
    for (int i = 0; i < Maxcnt; i++)
    {
        for (int j = 0; j < 26; j++)
        {
            if (Maxcnt - numbers[j] <= i)
            {
                excel[i][j]++;
            }
        }
    }

    for (int i = 0; i < Maxcnt; i++)
    {
        for (int j = 0; j < 25; j++)
        {
            if (excel[i][j] == 0)
            {
                printf("  ");
            }
            else
            {
                printf("* ");
            }
        }
        if (excel[i][25] == 0)
        {
            printf(" \n");
        }
        else
        {
            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 \n");
    // printf("%d\n", Maxcnt);

    return 0;
}

void countNum(char text[], int numbers[])
{
    for (int i = 0; i < strlen(text); i++)
    {
        if (isalpha(text[i]))
        {
            char c = toupper(text[i]);
            numbers[c - 'A']++;
        }
    }
}

一开始最后一个点RE

数组开大后变成了WA

2023/11/4 22:59
加载中...