本文主要是介绍SSL_2413 排名,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题意
给出一些人的成绩,按照信息技术的成绩排序,最后输出,还要加上数学和信息技术成绩的排名。
思路
题目过水,直接模拟不解释了,但是要小心有坑。
代码
#include<cstdio>
#include<algorithm>
using namespace std;
int n;
struct node{int chi,mat,eng,com,p;
}a[46];
struct nod{int mat,s;
}b[46];
int cmp1(node x,node y) {return x.com>y.com;}
int cmp2(nod x,nod y) {return x.mat>y.mat;}
int main()
{scanf("%d",&n);for (int i=1;i<=n;i++){scanf("%d%d%d%d",&a[i].chi,&a[i].mat,&a[i].eng,&a[i].com);b[i].mat=a[i].mat; b[i].s=i;}sort(b+1,b+n+1,cmp2);for (int i=1;i<=n;i++) a[b[i].s].p=i;sort(a+1,a+n+1,cmp1);for (int i=1;i<=n;i++)printf("%4d%5d%5d%5d%5d%5d \n",a[i].chi,a[i].mat,a[i].eng,a[i].com,a[i].p,i);
}
这篇关于SSL_2413 排名的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!