Mei_Misaki @ 2020-12-03 16:39:48
学号排序很诡异\ 不管怎么搞都一样\ 改大改小都不可以\ 望各位大佬给我指点指点
#include<bits/stdc++.h>
using namespace std;
struct ch{
int zong,xue,yv;
};
ch a[1000];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
int yv,shu,ying;
cin>>yv>>shu>>ying;
a[i].yv=yv;
a[i].xue=i+1;
a[i].zong=yv+shu+ying;
}
for(int i=n-1;i>0;i--){
for(int j=0;j<i;j++){
if(a[j].zong<a[j+1].zong){
swap(a[j],a[j+1]);
}
else if(a[j].zong==a[j+1].zong){
if(a[j].yv<a[j+1].yv){
swap(a[j],a[j+1]);
}
else if(a[j].yv==a[j].yv){
if(a[j].xue>a[j+1].xue){
swap(a[j],a[j+1]);
}
}
}
}
}
for(int i=0;i<5;i++){
cout<<a[i].xue<<' '<<a[i].zong<<endl;
}
return 0;
}
by No_wonder @ 2020-12-03 16:45:16
快排我还能看懂,为什么要冒泡泡呢