排名【2018.5.12】

题目

这里写图片描述


解题思路

先按数学成绩排一次序,记录下来,然后在按信息奥赛的成绩排一次序,直接输出


代码

#include<cstdio>
#include<algorithm>
using namespace std; 
struct node{
    int a,b,c,d,f; 
}t[50];
int n;
bool cmp1(node x,node y)
{ return x.d>y.d; }
bool cmp2(node x,node y)
{ return x.b>y.b; }
int main()
{
    freopen("sort.in","r",stdin); 
    freopen("sort.out","w",stdout); 
    scanf("%d",&n); 
    for (int i=1;i<=n;i++)
     scanf("%d%d%d%d",&t[i].a,&t[i].b,&t[i].c,&t[i].d); 
    sort(t+1,t+n+1,cmp2);
    for (int i=1;i<=n;i++) t[i].f=i;
    sort(t+1,t+n+1,cmp1); 
    for (int i=1;i<=n;i++)
     printf("%d%d %d %d %d %d\n",t[i].a,t[i].b,t[i].c,t[i].d,i,t[i].f); 
}

猜你喜欢

转载自blog.csdn.net/qq_39897867/article/details/80297993