🏆 排序大师挑战赛

C3-9 随心所欲的排序 · 拓展项目(推荐度第1名)

⭐ 趣味性 ★★★★★  |  推荐度 ★★★★★

📝 题目内容

🏆 欢迎来到排序大师挑战赛!

你是一名排序大师,需要用 sort + 自定义 cmp 给学生成绩"随心所欲"地排序:

  • ① 3名学生存入二维数组 s[3][2] = {{1,90},{2,85},{3,90}},每行 {学号, 分数}
  • ② 写 cmp(a,b):分数不同按分数降序(高的在前)
  • ③ 分数相同按学号升序(小的在前)
  • ④ 主程序调用 sort(s, s+3, cmp) 排序后逐行输出

📚 知识点回顾

🔄 本节课知识点

  • sort函数:sort(首地址, 尾地址, cmp) 自定义排序
  • cmp函数:bool cmp(int a, int b) 返回true表示a排前面
  • 多条件排序:if(第一关键字不同) return 按第一关键字; 然后 return 按第二关键字
  • 二维数组:int s[3][2] 每行存储{学号, 分数}

🔙 之前知识点

  • 头文件:#include <algorithm> 使用sort函数
  • 数组遍历:for(int i=0;i<3;i++) 输出每个学生
  • 数组访问:s[i][0]学号,s[i][1]分数
  • 比较运算符:> 降序,< 升序

🗺️ 解题逻辑线路

第1步:定义二维数组 int s[3][2] = {{1,90}, {2,85}, {3,90}}
↓
第2步:写cmp比较函数 先按分数降序,分数相同按学号升序
↓
第3步:调用sort排序 sort(s, s + 3, cmp) 传入cmp函数
↓
第4步:输出排序结果 遍历数组输出学号和分数

💻 C++ 在线编辑器

📝 代码填空题:黄色虚线标记的 _____ 是需要你填写的部分。

📝 sort_challenge.cpp(填空题)
1

          
        
📌 使用说明:
① 编辑代码:直接在代码区点击即可编辑,支持Tab键缩进(4个空格)
② 运行测试:点击"运行测试"按钮,会进行语法检查并模拟运行
③ 复制代码:点击"复制代码"按钮,一键复制到剪贴板
④ 真正编译:本编辑器为模拟运行环境,如需精确结果,请复制代码到 Dev-C++、Code::Blocks 或在线C++编译器中真正编译运行
⑤ 查看提示/详细解析:遇到困难可以点击"查看提示",完成后输入密码点击"🔐 详细解析"对照讲解和参考答案