只有第三个点WA了,其他都AC但我不理解

P5740 【深基7.例9】最厉害的学生

2023112626_duqunyao @ 2023-11-04 16:08:05

#include<stdio.h>
int sumScore(int a,int b,int c)
{
    return a+b+c;
}
int maxScore(int a[],int n)
{
    int max=0;
    for(int i=0;i<n;i++)
    {
        if(a[i]>max) max=a[i];
    }
    return max;
}
int main()
{
    int n;
    scanf("%d",&n);
    char name[n][8];
    int score[n][3];
    int sumscore[n];
    int max,i;
    for(int i=0;i<n;i++)
    {
        scanf("%s%d%d%d",&name[i],&score[i][0],&score[i][1],&score[i][2]);
        sumscore[i]=sumScore(score[i][0],score[i][1],score[i][2]);
    }
    max=maxScore(sumscore,n);
    for(i=0;i<n;i++)
    {
        if(sumscore[i]==max)
        {
            printf("%s %d %d %d",name[i],score[i][0],score[i][1],score[i][2]);
            break;
        }
    }
}

用示例和0检验过了,以为万无一失……

接下来是最匪夷所思的点

第三个检验点某一段长这样

……

zqafbj 90 131 34

itwczznb 83 66 39

cdoyjexz 150 124 148

heyzue 104 90 71

lcqpyow 101 81 113

……

正常输出的应该是cdoyjexz 150 124 148对吧

可我的代码输出是

cdoyjexzheyzue 150 124 148

我不理解。。。


by 2023112626_duqunyao @ 2023-11-04 16:10:19

但是我把名字的字符数组设置为9就对了,不是很理解


by 2023111646a @ 2023-11-09 14:53:27

@2023112626_duqunyao 字符数组结尾自动添加‘/0’作为输入结束符,因此长度要加1


|