zoukankan      html  css  js  c++  java
  • 题目1061:成绩排序

    题目链接:http://ac.jobdu.com/problem.php?pid=1061

    分析见:https://github.com/zpfbuaa/JobduInCPlusPlus

    参考代码1:

    //
    //  1061 成绩排序.cpp
    //  oj
    //
    //  Created by PengFei_Zheng on 03/04/2017.
    //  Copyright © 2017 PengFei_Zheng. All rights reserved.
    //
     
    #include <stdio.h>
    #include <iostream>
    #include <string.h>
    #include <algorithm>
    #include <string.h>
    #include <cstring>
     
    using namespace std;
     
    int n;
    struct Stu{
        string name;
        int age;
        int grade;
    }stu[1001];
     
    bool cmp(Stu a, Stu b){
        if(a.grade!=b.grade) return a.grade<b.grade;
        int result = strcmp(a.name.c_str(),b.name.c_str());
        if(result) return result<0;
        else return a.age<b.age;
    }
    int main(){
        while(cin>>n){
            for(int i = 0 ; i < n ; i++){
                cin>>stu[i].name>>stu[i].age>>stu[i].grade;
            }
            sort(stu,stu+n,cmp);
            for(int i =0 ; i < n ; i ++){
                cout<<stu[i].name<<" "<<stu[i].age<<" "<<stu[i].grade<<endl;
            }
        }
        return 0;
         
    }
     
    /**************************************************************
        Problem: 1061
        User: zpfbuaa
        Language: C++
        Result: Accepted
        Time:620 ms
        Memory:1544 kb
    ****************************************************************/

    参考代码2:

    //
    //  1061 成绩排序.cpp
    //  oj
    //
    //  Created by PengFei_Zheng on 03/04/2017.
    //  Copyright © 2017 PengFei_Zheng. All rights reserved.
    //
     
    #include <stdio.h>
    #include <iostream>
    #include <string.h>
    #include <algorithm>
    #include <string.h>
    #include <cstring>
     
    using namespace std;
     
    int n;
    struct Stu{
        string name;
        int age;
        int grade;
        bool operator < (const Stu &b) const{
            if(grade!=b.grade) return grade<b.grade;
            int temp = strcmp(name.c_str(), b.name.c_str());
            if(temp!=0)return temp<0;
            else return age<b.age;
        }
    }stu[1001];
     
    int main(){
        while(cin>>n){
            for(int i = 0 ; i < n ; i++){
                cin>>stu[i].name>>stu[i].age>>stu[i].grade;
            }
            sort(stu,stu+n);
            for(int i =0 ; i < n ; i ++){
                cout<<stu[i].name<<" "<<stu[i].age<<" "<<stu[i].grade<<endl;
            }
        }
        return 0;
         
    }
     
    /**************************************************************
        Problem: 1061
        User: zpfbuaa
        Language: C++
        Result: Accepted
        Time:570 ms
        Memory:1540 kb
    ****************************************************************/
  • 相关阅读:
    idea破解
    metasploit常用命令(持續更新...)
    metasploit魔鬼训练营_XSS
    渗透测试流程
    中国电信猫后接路由器具体设置
    python首次尝试——hello world
    【阿圆总结】关于平时阅读的推荐
    【转载】curl 模拟 GETPOST 请求,curl查看响应头 以及 curl post 上传文件
    【转载】用实例给新手讲解RSA加密算法
    【翻译】Open ID Connect---OIDC 是什么东西?
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/6671377.html
Copyright © 2011-2022 走看看