#include <stdio.h>
struct Student
{
long num;
char name[20];
float score[3];
float aver;
};
void main()
{
void input(struct Student stu[]);//实现输入n个结构体的内容
struct Student max(struct Student *p); //返回平均成绩最大的结构体成员变量
void print(struct Student stu);//实现输出结构体成员变量的数据
struct Student stu[3] ,*p = stu;
input(p);
print(max(p));
}
void input(struct Student stu[])
{
int i;
for(i =0;i<3;i++)
{
printf("请输入第%d个学生的学号 姓名 第一科成绩 第二科成绩 第三科成绩 :\n",i+1);
scanf("%d %s %f %f %f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
}
}
struct Student max(struct Student *stu)
{
int max;
int i,j;
for(i=0;i<3;i++)
{
stu[i].aver = (stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3;
}
max = 0;
if(stu[max].aver<stu[1].aver)
{
max =1;
}
if(stu[max].aver<stu[2].aver)
{
max =2;
}
return stu[max];
};
void print(struct Student stu)
{
printf("学号 : %5d 姓名 : %6s 成绩1 :%f 成绩2 : %f 成绩3 :%f \n 平均成绩%f",stu.num,stu.name
,stu.score[0],stu.score[1],stu.score[2],stu.aver);
}
请输入第1个学生的学号 姓名 第一科成绩 第二科成绩 第三科成绩 :
10001 陈辉 95 96 94
请输入第2个学生的学号 姓名 第一科成绩 第二科成绩 第三科成绩 :
10002 陈朗 98 97 99
请输入第3个学生的学号 姓名 第一科成绩 第二科成绩 第三科成绩 :
10003 陈峰 100 98 99
学号 : 10003 姓名 : 陈峰 成绩1 :100.000000 成绩2 : 98.000000 成绩3 :99.000000
平均成绩99.000000