```c++
#include
typedef struct student
{
char name[20];
int IT;;
int math;
int English;
}student;
int main()
{
student s[1000];
int n,i;
int sum[1000];
scanf("%d",&n);
for(i=0;i
scanf("%s",&s[i].name);
scanf("%d",&s[i].IT);
scanf("%d",&s[i].math);
scanf("%d",&s[i].English);
sum[i]=s[i].IT+s[i].math+s[i].English;
}
float max=sum[0];
for(i=0;i
if(max
}
for(i=0;i
if(max==sum[i])
{
printf("%s %d %d %d",s[i].name,s[i].IT,s[i].math,s[i].English);
}
}
return 0;
}
```
该怎么修改才能让测试数据1显示输出正确?
scanf("%s",&s[i].name); 改成 scanf("%s",s[i].name); 因name就是一维数组的地址,所以无需再 &
不知道你这个问题是否已经解决, 如果还没有解决的话: