一个班上有6名学生,每个学生的数据作为一个记录,每个记录包括学号、姓名、三门课程的成绩和三门课程平均成绩。从键盘输入学生的学号、姓名及三门课的成绩。要求打印三门课程平均成绩最高分的学生记录。
#include <stdio.h>
#include <string.h>
#include <math.h>
struct stu//结构体
{
int a;
char b[10];
double c[3];
} stu[6];//这里定义了6个人的数据
int main()
{
int i,j;
double sum[10]={
0};//要记得初始化
double max;
int t;
for(i=0; i<6; i++)//输入6个人的数据
{
scanf("%d %s",&stu[i].a,stu[i].b);
for(j=0; j<3; j++)
{
scanf("%lf",&stu[i].c[j]);
sum[i]=sum[i]+stu[i].c[j];//在这里直接进行分数相加,便于后面进行比较
}
}
max=sum[0];//这里设置为确定最大平均值做准备
for(i=1; i<6; i++)
{
if(sum[i]>max)
{
max=sum[i];
t=i;//记录最大值的下标
}
}
printf("%d\n",stu[t].a);//下面为输出结果
printf("%s\n",stu[t].b);
for(i=0; i<3; i++)
{
printf("%.2lf ",stu[t].c[i]);
}
return 0;
}
结果如下: