题目描述
小红是数学科代表,上星期小红所在的班进行了数学测验,数学老师由于要忙于备课和改作业,叫小红帮忙将数学测验成绩排一下序,按从高到低进行排名,成绩相同的名次也相同,然后以此类推。现在请你编一个程序,帮小红完成数据排名的工作。
输入
共有N+1行,第一行是一个正整数N(1<=N<=200),表示有N个学生的成绩,接下来有N行,每行第一个数表示学生的学号x(x<200),第二个数是该学生的数学测验成绩y(y>0)。
输出
按成绩从高到低输出(成绩相同的学号小的排在前面),共有N行,每行三个数,分别为学生的学号、成绩、名次(两个数字之间用一个空格隔开)。
样例输入
4 1 125 3 90 4 138 2 125
样例输出
4 138 1 1 125 2 2 125 2 3 90 4
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int a,b[100001],c[100001],z;
int main()
{
cin>>a;
for(int i=1;i<=a;i++)
cin>>b[i]>>c[i];
for(int i=1;i<=a;i++)
{
z=1;
for(int j=i;j<=a;j++)