结构体,小白爱提问
#include<stdio.h>#define N 3
struct student{
int num;
char name[20];
int score[3];
float average;
};
int main(){
void input(struct student stu[]);
struct student max(struct student stu[]);
void print(struct student stu);
struct student stu[N],*p=stu;
input(p);
print(max(p));
return 0;
}
void input(struct student stu[]){
int i;
printf("请输入各学生的信息:学号、姓名、三门课成绩:\n");
for(i=0;i<N;i++){
scanf("%d %s %f %f %f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
stu[i].average=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;
printf("%6.2f",stu[i].average);
}
}
struct student max(struct student stu[]){
int i,m=0;
for(i=0;i<N;i++)
if(stu[i].average>stu[m].average)
m=i;
return stu[m];
}
void print(struct student stu){
printf("平均成绩最高的同学的各信息为:\n");
printf("学号:%d\n姓名:%s\n三门课成绩:%5.1f,%5.1f,%5.1f\n平均成绩:%6.2lf\n",
stu.num,stu.name,stu.score[0],stu.score[1],stu.score[2],stu.average);
}
有N个结构题变量stu,内含学生学号,姓名,三门科目的成绩,要求输出平均成绩最高的学生的信息(包括学生学号,姓名,三门成绩,平均成绩)。运行不出结构是为什么呀。。。。。。。