课堂作业补充

时间:2022-02-05 22:02:11
#include<stdio.h>
#define N 3
struct Student
{
int num;
char name[20];
float score[3];
float aver;


}stu[
3];
void aver(struct Student stu[]);
int main()
{
void input( struct Student stu[]);
struct Student max (struct Student stu[]);
void print(struct Student stu);
struct Student *p=stu;
input(p);
print(max(p));
aver(stu);
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].aver
=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
}
}
struct Student max(struct Student stu[])
{
int i,m=0;
for(i=0;i<N;i++)
if(stu[i].aver>stu[m].aver)
m
=i;
return stu[m];
}
void print(struct Student stud)
{ printf(
"\n成绩最高的学生是:\n");
printf(
"学号:%d\n姓名:%s\n三门课成绩:%5.1f,%5.1f,%5.1f\平均成绩:%6.2f\n",stud.num,stud.name,stud.score[0],stud.score[1],stud.score[2],stud.aver);

}
void aver(struct Student stu[])
{
float sum1,sum2,sum3;
int i;
for(i=0;i<3;i++)
{
sum1
+=stu[i].score[0];
}
for(i=0;i<3;i++)
{
sum2
+=stu[i].score[1];
}
for(i=0;i<3;i++)
{
sum3
+=stu[i].score[2];
}
printf(
"第一门成绩的平均成绩%5.1f\n第二门成绩的平均成绩%5.1f\n第三门成绩的平均成绩%5.1d\n",sum1/3,sum2/3,sum3/3);
}

 

 

 

 

请输出各学生的信息:学号、姓名、三门课成绩:
010 于港岩 100
020 于港岩2 90

成绩最高的学生是:
学号:10
姓名:于港岩
三门课成绩:100.0, 20.0, 0.0平均成绩: 40.00
第一门成绩的平均成绩 33.3
第二门成绩的平均成绩 6.7
第三门成绩的平均成绩 0

--------------------------------
Process exited after 20.27 seconds with return value 0
请按任意键继续. . .

 

课堂作业补充