有若干个学生,每个学生的数据包括学号、姓名、三门课成绩及平均成绩。从键盘输入一个正整数n(1<=n<=100),接着再输入n 行数据,分别代表n个学生数据(学号、姓名、三门课成绩,不包括平均成绩)。在随后的一行上输出n个同学的平均成绩,另起一行输出平均成绩最高的同学的信息(学号、姓名、三门课成绩、平均成绩)。
要求:
1、 定义学生结构体。可参加如下格式:
struct student{
int id; //学号
char name[20]; //姓名
double score[3]; //三门课成绩,取值在0.0-100.0
double aver; //平均成绩,保留两位小数
};
要求输出平均分和平均分最高的学生数据。
#include<bits/stdc++.h>
usingnamespacestd;
intn,sum,maxn,maxm;
structstudent{
intid;
string name;
doubley,s,i,p;
doubleaver;
}a[101];
intmain(){
cin>>n;
for(inti=0;i<n;i++){
sum=0;
cin>>a[i].id>>a[i].name>>a[i].y>>a[i].s>>a[i].i;
a[i].p=(a[i].y+a[i].s+a[i].i)/3;
sum+=a[i].y+a[i].s+a[i].i;
if(sum>maxn){
maxn=sum;
maxm=i;
}
}
for(inti=0;i<n;i++){
printf("%.2lf",a[i].p);
cout<<" ";
}
cout<<endl<<a[maxm].id<<" "<<a[maxm].name<<" "<<a[maxm].y<<" "<<a[maxm].s<<" "<<a[maxm].i<<" ";
printf("%.2lf",a[maxm].p);
return0;
}