您的位置:首页 > 其它

JustOj 1256: 成绩排名 (结构体排序)

2017-07-02 16:09 274 查看
1256: 成绩排名
时间限制: 1 Sec  内存限制: 128 MB
提交: 28  解决: 21

[提交][状态][讨论版]
题目描述

有N个学生,每个学生的数据包括学号、姓名、成绩,要求按成绩大小输出学生的姓名(若成绩相等,学号小的排名在前)

输入

第一行为学生数量N
接下来的N行为每个学生的学号、姓名、成绩

输出

学生姓名,每行一个

样例输入
4
4 jx 97
2 ust 90
3 acm 97
1 oj 89

样例输出
acm
jx
ust
oj

提示

来源

#include <iostream>

#include <algorithm>

using namespace std;

struct stu

{

    int num;

    char name[10];

    int sum;

}s[100];

bool cmp(stu x,stu z)

{

    if(x.sum>z.sum){

        return 1;

    }else if(x.sum==z.sum){

        return x.num<z.num;

    }else{

        return 0;

    }

}

int main()

{

    int n,i;

    cin>>n;

    for(i=0;i<n;i++){

        cin>>s[i].num>>s[i].name>>s[i].sum;

    }

    sort(s,s+n,cmp);

    for(i=0;i<n;i++){

        cout<<s[i].name<<endl;

    }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: