dead000 @ 2023-11-01 15:06:17
#include<stdio.h>
struct student{
char name[9];
int score[4];
};
int main()
{
int n;
scanf("%d",&n);
int sum[1001];
struct student stu[1001];
for(int i=0;i<n;i++){
scanf("%s",&stu[i].name);
for(int j=0;j<3;j++){
scanf("%d",&stu[i].score[j]);
sum[i]+=stu[i].score[j];
}
}
int max=-99,t;
for(int i=0;i<n;i++){
if(sum[i]>max){
max=sum[i];
t=i;
}
}
printf("%s %d %d %d",stu[t].name,stu[t].score[0],stu[t].score[1],stu[t].score[2]);
}
by EvilSpirits @ 2023-11-01 15:22:28
sum[]没有初始化
by dead000 @ 2023-11-01 17:10:52
@EvilSpirits 太感谢啦
by elong123 @ 2023-11-15 21:33:46
@dead000 我有个问题楼主,为什么max要赋值为负数,而有的题要给min一个很大的值呢
by dead000 @ 2023-11-16 15:36:50
@elong123 意思应该是初始化最大和最小值吧。保证在第一次比较时数组的任意数都比最大值大并且比最小值小,或者也可以把最大最小值初始化为数组的第一个元素,都是可以的。