成绩排名次(C++题解)

输入N个学生的姓名和语文成绩,按语文成绩高低排出名次,并且从大到小输出每个学生的姓名。

输入格式

输入第一行:N,表示N个学生。( 0 < n < 60 )

第二到第N+1行:两个变量:A姓名,B学生成绩(保证成绩没有相同)。学生的姓名不超过20个字符。

输出格式

输出N行,按学生成绩由高到低输出。

每行输出学生名次、姓名和成绩,中间用空格隔开。

输入/输出例子1

输入:

3

xiaofang 89

xiaotian 100

chenhao 60

输出:

1 xiaotian 100

2 xiaofang 89

3 chenhao 60

样例解释

以上是题目内容,大佬勿喷

#include<bits/stdc++.h>

using namespace std;

struct Dream

{

char ah[25];

int sapnap;

}a[65];

int n;

bool cmp(Dream x,Dream y)

{

return x.sapnap>y.sapnap;

}

int main(){

cin>>n;

for(int i=1;i<=n;i++)

{

cin>>a[i].ah>>a[i].sapnap;

}sort(a+1,a+n+1,cmp);

for(int i=1;i<=n;i++)

{

cout<<i<<" "<<a[i].ah<<" "<<a[i].sapnap<<endl;

}

return 0;

}


版权声明:本文为Ldxx603原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。