当前位置: 首页 > news >正文

PAT甲级(Advanced Level) Practice 1028 List Sorting

原题

1028 List Sorting - PAT (Advanced Level) Practice

题目大意

输入n个学生的id、姓名、分数,再输入C表示对C列进行排序。

id:从小到大排

姓名:姓名不同时从小到大排,相同时id从小到大排

分数:不同时从小到大排,相同时id从小到大排

解题思路

调用自带的sort函数,自定义比较函数

代码(c++)
#include <bits/stdc++.h>

using namespace std;

const int N = 100010;

struct stu {
    string id, name;
    int score;
}stus[N];

bool cmp1(const stu &a, const stu &b) {              // 比较id
    return a.id < b.id;
}

bool cmp2(const stu &a, const stu &b) {              // 比较姓名
    if (a.name != b.name) return a.name < b.name;
    return a.id < b.id;
}

bool cmp3(const stu &a, const stu &b) {              // 比较分数
    if (a.score != b.score) return a.score < b.score;
    return a.id < b.id;
}

int main() {
    int n, cmp;
    cin >> n >> cmp;
    for (int i = 0; i < n; i++)
        cin >> stus[i].id >> stus[i].name >> stus[i].score;
    switch (cmp) {
        case 1:
            sort(stus, stus + n, cmp1);
            break;
        case 2:
            sort(stus, stus + n, cmp2);
            break;
        case 3:
            sort(stus, stus + n, cmp3);
            break;
        default:
            return 0;
    }
    for (int i = 0; i < n; i++)
        cout << stus[i].id << " " << stus[i].name << " " << stus[i].score << endl;

    return 0;
}

相关文章:

  • 【附代码】【MILP建模】3D装箱问题(3D-Bin Packing Problem)
  • 冠珠瓷砖×郭培:当东方美学邂逅匠心工艺,高定精神如何重塑品质生活?
  • 企业在人工智能创新与安全之间走钢丝
  • TDengine 中的系统信息统计
  • oracle查询归档日志使用量
  • 阳台光伏新守护者:电流传感器助力安全发电
  • 【开源宝藏】用 JavaScript 手写一个丝滑的打字机动画效果
  • 软件确认测试注意事项和工具分享,确认测试软件测评中心有哪些?
  • 【报错】 /root/anaconda3/conda.exe: cannot execute binary file: Exec format error
  • 可变形交互注意力模块(DIA-Module)及代码详解
  • 基础场景-------------------(5)重载和重写的区别
  • Squidex:一个基于.Net功能强大的CMS开源项目
  • 2025年渗透测试面试题总结-某深信服-深蓝攻防实验室(题目+回答)
  • Linux 练习一 NFS和DNS
  • K-均值聚类算法:数据海洋中的分类灯塔
  • springboot的跨域是什么?遇到跨域问题如何解决?
  • 吾爱出品,文件分类助手,高效管理您的 PC 资源库
  • HTML5 拖放(Drag and Drop)学习笔记
  • AI巅峰揭秘:ChatGPT如何引领智能时代变革
  • HTTP代理的全面解读:什么是HTTP代理?HTTP代理的工作原理
  • 如何做企业网站及费用问题/创意设计
  • 萍乡网站建设哪家公司好/seo排名优化公司价格
  • 建设外汇网站/有别人的交易链接怎么交易
  • phpweb手机网站程序/seo网站排名优化服务
  • 创新的广州做网站/最近的疫情情况最新消息
  • 淄博做网站小程序的公司/郑州疫情最新消息