1 solutions
-
0
排序
#include<bits/stdc++.h> using namespace std; const int N=310; struct Stu{ int total,yuwen,shuxue,yingyu,id; }; Stu s[N]; bool cmp(Stu a,Stu b) { if(a.total>b.total) return 1; //总分 if(a.total==b.total&&a.yuwen>b.yuwen) return 1; //总分相同语文 if(a.total==b.total&&a.yuwen==b.yuwen&&a.id<b.id) return 1; //总分语文相同,学号 return 0; //不符合当前规则 } int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>s[i].yuwen>>s[i].shuxue>>s[i].yingyu; s[i].total=s[i].yingyu+s[i].yuwen+s[i].shuxue; s[i].id=i; } sort(s+1,s+1+n,cmp); for(int i=1;i<=5;i++) { cout<<s[i].id<<" "<<s[i].total<<endl; } }
- 1
Information
- ID
- 417
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 10
- Tags
- # Submissions
- 5
- Accepted
- 4
- Uploaded By