课堂补怱
#include<stdio.h> struct STD{ int num; char name[20]; float score[3]; float aver; }; main() { void input(struct STD stu[]); void zaver(struct STD stu[]); void aver(struct STD stu[]); void max( struct STD stu[]); struct STD stu[5]; struct STD *p; p=stu; input(p); zaver(p); aver(p); max(p); } void input(struct STD stu[]) { int i; for(i=0;i<5;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]); } } void zaver(struct STD stu[]) { int j; float hh; printf("三科分别平均成绩为:\n"); for(j=0;j<3;j++) { hh=(stu[0].score[j]+stu[1].score[j]+stu[2].score[j]+stu[3].score[j]+stu[4].score[j])/5; printf("%f\n",hh); } } void aver(struct STD stu[]) { printf("1-5学生平均成绩为:\n"); int j; for(j=0;j<5;j++) { stu[j].aver=(stu[j].score[0]+stu[j].score[1]+stu[j].score[2])/3; printf("%f\n",stu[j].aver);} } void max( struct STD stu[]) { int i,m=0; for(i=0;i<5;i++) if(stu[i].aver>stu[m].aver) m=i ; printf("学号为%d 姓名为%s 成绩为%f %f %f ",stu[m].num,stu[m].name,stu[m].score[0],stu[m].score[1],stu[m].score[2]); }