最厉害的学生输出最厉害的学生的各项信息

#为什么第三个测试点是错的,有没有大佬知道😭
#include<stdio.h>
int main()
{
int n,i,max,j;
scanf("%d",&n);
struct A
{
char name[8];
int china,math,english,sum;
};
struct A student[1010];
for(i=1;i<=n;i++)
{
scanf("%s%d%d%d",student[i].name,&student[i].china,&student[i].math,&student[i].english);
student[i].sum= student[i].china+student[i].math+student[i].english;

}
max=student[1].sum;
j=1;
for(i=2;i<=n;i++)
{
    if(student[i].sum>max)
    {max=student[i].sum;
    j=i;
    }
   
}
printf("%s %d %d %d",student[j].name,student[j].china,student[j].math,student[j].english);




return 0;

}

帮你改了一下哈:

#include<stdio.h>

struct A
{
    char name[8];
    int china,math,english,sum;
};

struct A student[1010];

int main()
{
    int n,i,max,j;
    scanf("%d",&n);

    for(i=1;i<=n;i++)
    {
        scanf("%s%d%d%d",student[i].name,&(student[i].china),&(student[i].math),&(student[i].english));
        student[i].sum= student[i].china+student[i].math+student[i].english;
    }
    max=student[1].sum;
    j=1;
    for(i=2;i<=n;i++)
    {
        if(student[i].sum>max)
        {
            max=student[i].sum;
            j=i;
        }
       
    }

    printf("%s %d %d %d",student[j].name,student[j].china,student[j].math,student[j].english);

    return 0;
}

img


如有帮助,欢迎采纳哈!