期末考试之排名次
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
期末考试结束了,童鞋们的成绩也出来的了,可是为了排名次可忙坏了老师,因为学生太多了。这时,老师把这个任务交给了你,希望你能帮老师完成。作为IT人,你当然不能用笨笨的人工方法了,编程解决才是好办法。
共有三门课,语文、数学和英语,要求根据学生的各科成绩计算出其总成绩,并根据总成绩从高到低排序。
输入
第一行一个整数N(N<=100),代表学生的人数。
接下来的N行数据,每行有三个整数,C,M,E分别代表一个学生语文、数学和英语的成绩。
接下来的N行数据,每行有三个整数,C,M,E分别代表一个学生语文、数学和英语的成绩。
输出
一共N行,每行一个数,从大到小,分别代表各个学生的总成绩。
示例输入
3 70 80 90 59 59 59 100 100 100
示例输出
300 240 177
#include<stdio.h>
#include<algorithm>
using namespace std;
struct node
{
int id,num,shunxu;
} team[10007];
int cmp(const node a,const node b)
{
if(a.num==b.num) return a.shunxu<b.shunxu;
return a.num>b.num;
}
int main()
{
int t,i;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
for(i=0; i<n; i++)
{
scanf("%d %d",&team[i].id,&team[i].num);
team[i].shunxu=i;
}
sort(team,team+n,cmp);
for(i=0; i<n; i++)
printf("%d %d\n",team[i].id,team[i].num);
}
return 0;
}
浙公网安备 33010602011771号