C语言上机试题,在线等,急,求速解决

编写一个程序,实现从键盘输入3个学生数据(每个学生的数据包括学号、姓名、2门课程成绩的),输出每个学生2门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、2门课的成绩、平均分数)。
要求用input函数输入3个学生数据;用average函数求每个学生总平均成绩;用max函数找出平均成绩最高分的学生数据。

这个题有毒:
第一:最高分的学生是什么意思?平均分最高吗?还是两门课各自的最高分???追问我。
第二:样例数据呢?
#include <bits/stdc++.h>
using namespace std;
struct per
{
int num;
string name;
int x;
int y;
double ave;
}a[3];
double sumx,sumy;
bool cmp(per p,per q){return p.ave>q.ave;}
int main()
{
for(register int i=0;i<3;++i) {cin>>a[i].num>>a[i].name>>a[i].x>>a[i].y;sumx+=a[i].x;sumy+=a[i].y; a[i].ave=(a[i].x+a[i].y)/2;}
sumx/=3;sumy/=3;
cout<<sumx<<" "<<sumy<<endl;
sort(a,a+3,cmp);
cout<<a[0].num<<' '<<a[0].name<<' '<<a[0].x<<' '<<a[0].y<<' '<<a[0].ave<<endl;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-26
定义三个学生结构体储存学号姓名成绩等等,然后分别实现三个函数的功能即可,很简单的。追问

能写一下过程么,我不会写,麻烦了,我提高一下悬赏

相似回答