这是一道很好的练习结构体的题
基本思路:结构体的输入与处理 比较 输出 AC
话不多说,上代码:
#include<bits/stdc++.h>
using namespace std;
struct p
{
int n;
int c,m,e;
int sum;
}a[310];
bool cmp(p a,p b)
{
if(a.sum>b.sum) return 1;
else if(a.sum<b.sum) return 0;
else
{
if(a.c>b.c) return 1;
else if(a.c<b.c) return 0;
else
{
if(a.n>b.n) return 0;
else return 1;
}
}
}
int main()
{
int sn;
cin>>sn;
for(int i=1;i<=sn;i++)
{
a[i].n=i;
cin>>a[i].c>>a[i].m>>a[i].e;
a[i].sum=a[i].c+a[i].m+a[i].e;
}
sort(a+1,a+1+sn,cmp);
for(int i=1;i<=5;i++)
cout<<a[i].n<<' '<<a[i].sum<<endl;
return 0;
}
代码并不是最好的,请见谅。