C语言上机试题,在线等,急,求速解决 10
编写一个程序,实现从键盘输入3个学生数据(每个学生的数据包括学号、姓名、2门课程成绩的),输出每个学生2门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、2门课的成...
编写一个程序,实现从键盘输入3个学生数据(每个学生的数据包括学号、姓名、2门课程成绩的),输出每个学生2门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、2门课的成绩、平均分数)。
要求用input函数输入3个学生数据;用average函数求每个学生总平均成绩;用max函数找出平均成绩最高分的学生数据。 展开
要求用input函数输入3个学生数据;用average函数求每个学生总平均成绩;用max函数找出平均成绩最高分的学生数据。 展开
2个回答
展开全部
这个题有毒:
第一:最高分的学生是什么意思?平均分最高吗?还是两门课各自的最高分???追问我。
第二:样例数据呢?
#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;
}
第一:最高分的学生是什么意思?平均分最高吗?还是两门课各自的最高分???追问我。
第二:样例数据呢?
#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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询