关于C++的问题请各位专家解答

```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 max=sum[i];
}
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;
}

```

img

该怎么修改才能让测试数据1显示输出正确?

scanf("%s",&s[i].name); 改成 scanf("%s",s[i].name); 因name就是一维数组的地址,所以无需再 &

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^