Run ID:111457

提交时间:2025-03-02 11:15:11

#include<iostream> // cin\cout\endl #include<cstdio> //scanf()\printf() #include<cstring> // strcpy()\strcat()\strcmp()\strlen()\memset() #include<cmath> //sqrt()\pow()\abs()\ceil()\floor()\max()\min() using namespace std; struct stu{ int id; int chinese; int math; int english; int tatol; }; bool cmp(stu x,stu y){ if(x.tatol<y.tatol) return true; else if(x.tatol==y.tatol){ if(x.chinese<y.chinese) return true; else if(x.chinese==y.chinese) return x.id>y.id; } return false; } int main(){ int n; stu a[301]; cin>>n; for(int i=0;i<n;i++){ a[i].id=i+1; cin>>a[i].chinese>>a[i].math>>a[i].english; a[i].tatol=a[i].chinese+a[i].math+a[i].english; } for(int i=0;i<n-1;i++){ for(int j=0;j<n-i-1;j++){ if(cmp(a[j],a[j+1])) swap(a[j],a[j+1]); } } for(int i=0;i<5;i++){ cout<<a[i].id<<" "<<a[i].tatol<<endl; } return 0; }