输入一个正整数 n,再输入 n 个学生的信息,包括学号姓名和3门课程的成绩,输出总分最高学生的姓名和总分

C语言
我的程序错在那里?

#include <stdio.h>
int main (void)
{
int i, j, k, max_index, n;
struct student{
int number;
char name[20];
int score[3];
int sum;
}stu[10];

scanf("%d", &n);
for(i=0;i<n;i++){
scanf("%s",stu[i].name);
scanf("%d",&stu[i].number);
scanf("%d%d%d",&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
}
max_index=0;
for(i=1;i<n;i++){
if(stu[i].sum>stu[max_index].sum) max_index=i;
}
printf("总分最高的学生是: %s,%d分\n", stu[max_index].name, stu[max_index].sum);
}

第1个回答  2014-06-16
......... scanf("%d", &n); for(i=0;i<n;i++){ scanf("%d%s",&stu[i].number,stu[i].name); stu[i].sum = 0; //先给sum赋初值,否则它是随机值,影响结果 for(j=0;j<3;j++){ scanf("%d",&stu[i].score[j]); stu[i].sum+=stu[i].score[j]; } } .......本回答被提问者采纳
第2个回答  2014-06-16
结构体不能写在main函数里头啊,亲,把结构体定义拿到main函数外头定义,就没问题了本回答被网友采纳
相似回答