用冒泡排序做(有点废手)
2024-02-01 11:04:37
发布于:广东
2阅读
0回复
0点赞
#include <iostream>
using namespace std;
int a[1005],b[1005],c[1005];
string s[1005];
int main(){
int n;
cin>>n;
for(int i=0;i<=n-1;i++){
cin>>s[i]>>a[i]>>b[i]>>c[i];
}
for(int i=0;i<n;i+=1){
for(int j=0;j<n;j++){
int t1=a[j]+b[j]+c[j];
int t2=a[j+1]+b[j+1]+c[j+1];
if(t1<t2){
swap(s[j],s[j+1]);
swap(a[j],a[j+1]);
swap(b[j],b[j+1]);
swap(c[j],c[j+1]);
} else if(t1 ==t2 && a[j]< a[j+1]){
swap(s[j],s[j+1]);
swap(a[j],a[j+1]);
swap(b[j],b[j+1]);
swap(c[j],c[j+1]);
}else if(t1 ==t2 && a[j]==a[j+1] && b[j]< b[j+1]){
swap(s[j],s[j+1]);
swap(a[j],a[j+1]);
swap(b[j],b[j+1]);
swap(c[j],c[j+1]);
}else if(t1 ==t2 && a[j]==a[j+1] && b[j]==b[j+1] && c[j]< c[j+1]){
swap(s[j],s[j+1]);
swap(a[j],a[j+1]);
swap(b[j],b[j+1]);
swap(c[j],c[j+1]);
}
}
}
for(int i=0;i<=n-1;i++) cout<<s[i]<<" "<<a[i]+b[i]+c[i]<<endl;
return 0;
}
这里空空如也
有帮助,赞一个