新手守护
#include<iostream>
#include<cstdio>
#include<string> #include<algorithm>
using namespace std;
struct P{
string name;
int a,b,c,d,a1;
}x[10005];
bool cmp(P e,P y){
return double(e.a1>y.a1);
}
int main(){
int n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>x[i].name>>x[i].a>>x[i].b>>x[i].c>>x[i].d;
x[i].a1=(x[i].a+x[i].b+x[i].c+x[i].d)/4;
}
sort(x+1,x+n+1,cmp);
for(int i=1;i<=n;i++){
cout<<x[i].name<<endl;
}
return 0;
}
中级天翼
看不懂你的思路;
看看我的:
结构体:
string zk;
int s1,s2,s3,s4,id;
double sum(){
return (s1+s2+s3+s4)/4.0;
}
cmp:
if(x.sum()!=y.sum())
return x.sum()>y.sum();
return x.id<y.id;
主函数:
输入n;
for(int i=1;i<=n;i++){
cin>>a[i].zk>>a[i].s1>>a[i].s2>>a[i].s3>>a[i].s4;
a[i].id=i;
}
排序
for(int i=1;i<=n;i++)
cout<<a[i].zk<<endl;
中级天翼
看不懂你的思路;
看看我的:
结构体:
string zk;
int s1,s2,s3,s4,id;
double sum(){
return (s1+s2+s3+s4)/4.0;
}
cmp:
if(x.sum()!=y.sum())
return x.sum()>y.sum();
return x.id<y.id;
主函数:
输入n;
for(int i=1;i<=n;i++){
cin>>a[i].zk>>a[i].s1>>a[i].s2>>a[i].s3>>a[i].s4;
a[i].id=i;
}
排序
for(int i=1;i<=n;i++)
cout<<a[i].zk<<endl;