1
已解决
郑思予
新手光能
新手光能
5517 考试成绩统计经验值:800
题目描述 Description
酷町堂举办了一次文件操作模拟赛,共有4道题目,现在要按照4道题目的平均分从高到低排序。如果分数相同,保持在输入中的顺序输出。
要求:求平均分要定义成一个返回值为double类型的结构体函数。
输入描述 Input Description
第一行,一个整数n,表示人数
接下来n行,每行有准考证号、第一题分数、第二题分数、第三题分数、第四题分数,准考证号是一个5位的字符串,由字母和数字构成
输出描述 Output Description
n行,每行一个排序后的准考证号
样例输入 Sample Input
5 BM001 100 0 0 100 BM002 100 20 80 80 BM003 100 100 0 100 BM004 100 100 100 0 BM005 100 100 100 100
样例输出 Sample Output
BM005 BM003 BM004 BM002 BM001
数据范围及提示 Data Size & Hint
n<=10000
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct node{
string zkzh;
double zf;
double a,b,c,d;
};
node a[10005];
int n;
bool cmp(node x,node y){
return x.zf >y.zf ;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].zkzh>>a[i].a>>a[i].b>>a[i].c >>a[i].d;
a[i].zf =(a[i].a+a[i].b+a[i].c+a[i].d)/4;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<a[i].zkzh <<endl;
}
return 0;
}
0分代码,哪里写错了(思路也可以)。
0
已采纳
沈峻宇
资深天翼
资深天翼
熬好,发作业题来问
沈峻宇在2021-01-24 16:38:20追加了内容
我可以教你,但是请等5分钟
沈峻宇在2021-01-24 16:41:09追加了内容
首先,你没有题目要求的函数,
这样你会很麻烦
沈峻宇在2021-01-24 16:50:56追加了内容
return x.编号<y.编号;(cmp函数内)
而且,你要知道,如果平均分相同,要按输入顺序来!加上我上面的代码,应该就能AC。
沈峻宇在2021-01-24 16:51:41追加了内容
@郑思予
望采纳
0