/*编写程序处理10个学生的信息,每个学生的信息包括:学号、姓名、三门成绩。
要求从键盘输入学生的数据用一个函数实现,输出成绩表(包括每个学生的学号、姓名、三门成绩及平均分数)
用一个函数,再用一个函数输出平均分在前3名的学生姓名及平均分。
*/
#include<stdio.h>
#define N 10
struct student
{
int xuehao;
char xingming[20];
float chengji1;
float chengji2;
float chengji3;
};
int main()
{
struct student data[N];
int i,j;
float m1=0,m2=0,m3=0;
printf("输入学生学号、姓名、三门成绩:\n");
for(i=0;i<N;i++)
scanf("%d %s %f %f %f",&data[i].xuehao,&data[i].xingming,
&data[i].chengji1,&data[i].chengji2,&data[i].chengji3);
printf("---------------------------------------------------------\n");
printf("输出学生学号、姓名、三门成绩及平均分数:\n");
for(j=0;j<N;j++)
printf("学号:%d 姓名:%s 成绩:%-3.1f %-3.1f %-3.1f\n平均分数:%-3.1f\n",data[j].xuehao,data[j].xingming,
data[j].chengji1,data[j].chengji2,data[j].chengji3,
(data[j].chengji1+data[j].chengji2+data[j].chengji3)/3);
/*没看懂后面的意思、我想是不是吧前3名的各科成绩加和后求平均呢?先这样理解吧、就这样写了*/
for(j=0;j<3;j++)
{
m1+=data[j].chengji1;
m2+=data[j].chengji2;
m3+=data[j].chengji3;
}
printf("前三个学生的各科平均成绩:%-3.1f %-3.1f %-3.1f\n",m1/3,m2/3,m3/3);
}