1 条题解
-
0
这就是一个很简单的结构体排序题,就是首先排一遍总成绩,如果总成绩相等就把序号小的排前面,,然后这道题就过了,我写的还是比较麻烦的,可以直接输入姓名,成绩的,不过为了直观好看,还是分开了
#include <bits/stdc++.h> using namespace std; struct abc{ string name; int all_subject,chinese,math,english; int id; }a[11100]; bool cmp(abc a,abc b) { if(a.all_subject==b.all_subject){ return a.id<b.id; } return a.all_subject>b.all_subject; } int main() { int t1,t2,t3; int n; string s; cin >> n; for(int i=1;i<=n;i++){ cin >>s>> t1 >> t2 >> t3; a[i].name = s; a[i].chinese = t1; a[i].math = t2; a[i].english = t3; a[i].all_subject=t1+t2+t3; a[i].id=i; } sort(a+1,a+1+n,cmp); cout << a[1].name << " "<<a[1].chinese; cout << " " << a[1].math << " " << a[1].english; }
- 1
信息
- ID
- 106
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- (无)
- 递交数
- 1039
- 已通过
- 6
- 上传者