shimucheng @ 2024-10-25 21:41:13
50分求助,代码如下,急等,请在我的代码下改一下,谢谢各位大佬。
#include<bits/stdc++.h>
using namespace std;
int n;
struct Node{
int fen,xh,c,m,e;
}a[10000];
bool cmp (Node x,Node y){//结构体排序
return x.fen>y.fen;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++) {
cin>>a[i].c>>a[i].m>>a[i].e;
a[i].xh=i;
a[i].fen=a[i].c+a[i].m+a[i].e;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
for(int j=1;j<i;j++){
if(a[i].fen==a[j].fen){
if(a[i].c<a[j].c) swap(a[i],a[j]);
}
}
}
for(int i=1;i<=5;i++) cout<<a[i].xh<<' '<<a[i].fen<<endl;
return 0;
}
by shimucheng @ 2024-10-25 21:44:34
题目看错了,改了一下,70分。
#include<bits/stdc++.h>
using namespace std;
int n,ba,bb,bc;
struct Node{
int fen,xh,c,m,e;
}a[10000];
bool cmp (Node x,Node y){//结构体排序
return x.fen>y.fen;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++) {
cin>>a[i].c>>a[i].m>>a[i].e;
a[i].xh=i;
a[i].fen=a[i].c+a[i].m+a[i].e;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++){
for(int j=1;j<i;j++){
if(a[i].fen==a[j].fen){
if(a[i].c<a[j].c) swap(a[i],a[j]);
else if(a[i].xh<a[j].xh) swap(a[i],a[j]);
}
}
}
for(int i=1;i<=5;i++) cout<<a[i].xh<<' '<<a[i].fen<<endl;
return 0;
}