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

3375.成绩排序

3375.成绩排序

⭐️难度:简单
⭐️类型:排序

📖题目:题目链接
给定学生的成绩单,成绩单中包含每个学生的姓名和分数,请按照要求将成绩单按成绩从高到低或从低到高的顺序进行重新排列。

对于成绩相同的学生,无论以哪种顺序排列,都要按照原始成绩单中靠前的学生排列在前的规则处理。

输入格式
第一行包含整数 N,表示学生个数。
第二行包含一个整数 0 或 1,表示排序规则,
0表示从高到低,
1表示从低到高。

接下来 N 行,每行描述一个学生的信息,包含一个长度不超过 10的小写字母构成的字符串表示姓名以及一个范围在 0∼100的整数表示分数。

输出格式
输出重新排序后的成绩单。
每行输出一个学生的姓名和成绩,用单个空格隔开。

🌟思路:
定义两个compare函数,判断要进行的排序是升序还是降序,从而传递不同的参数进sort;
难点是sort是不稳定排序,需要通过一个seq变量的帮助,把sort函数改成稳定排序

📚题解:

#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<string.h>#include<vector>// vector不需要.h#include<list>#include<set>// // 可以用 set 和 multiset#include<unordered_set>// 可以用 unordered_set 和 unordered_multimap#include<map>// 可以用 map 和 multimap#include<unordered_map>// 可以用 unordered_map 和 unordered_multimap#include<algorithm>usingnamespacestd;structStudent{charname[10];intscore;intseq;// 用来实现稳定排序};boolcompare0(Student lhs,Student rhs){// 实现降序if(lhs.score>rhs.score){returntrue;}elseif(lhs.score==rhs.score&&lhs.seq<rhs.seq){// 成绩相等时,序号由低到高排序returntrue;}else{returnfalse;}}boolcompare1(Student lhs,Student rhs){// 实现升序if(lhs.score<rhs.score){returntrue;}elseif(lhs.score==rhs.score&&lhs.seq<rhs.seq){// 成绩相等时,序号由低到高排序returntrue;}else{returnfalse;}}intmain(){intn;scanf("%d",&n);vector<Student>vec(n);intflag;scanf("%d",&flag);// 0降序,1升序for(inti=0;i<n;i++){scanf("%s%d",vec[i].name,&vec[i].score);vec[i].seq=i;}if(flag==0){sort(vec.begin(),vec.end(),compare0);// 实现升序}else{sort(vec.begin(),vec.end(),compare1);// 实现降序}for(inti=0;i<n;i++){printf("%s %d\n",vec[i].name,vec[i].score);}return0;}
http://www.jsqmd.com/news/327493/

相关文章:

  • 网易 UU 远程 全平台免费远程工具,4K 画质流畅不卡顿
  • Java计算机毕设之基于SpringBoot+Vue的城市公交查询系统的详细设计和实现基于springboot+bs架构的城市公交查询系统设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 第15章 常见问题解答
  • Java计算机毕设之基于springboot+bs架构的浙江艾艺塑业设计公司网站设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 如何解决微信小程序报VM292:1 thirdScriptError: xxx is not a function问题
  • 【毕业设计】基于springboot+bs架构的城市公交查询系统设计与实现(源码+文档+远程调试,全bao定制等)
  • 【课程设计/毕业设计】springboot基于elasticsearch的高校科研团队信息信息管理科研人员、项目、成果管理系统【附源码、数据库、万字文档】
  • 1.31随笔
  • 探索大数据领域数据架构的最佳实践
  • 【毕业设计】基于springboot+bs架构的浙江艾艺塑业设计公司网站设计与实现(源码+文档+远程调试,全bao定制等)
  • 2026年医院导诊机器人厂商推荐与选购指南
  • 《企业元宇宙架构设计新思路,AI应用架构师引领新方向》
  • 第一次用AI写论文?照着这个流程做AI率稳降到15%以下
  • 从零学网络安全 - Web 技术核心与安全风险(二)
  • Java毕设项目:基于springboot+bs架构的招投标管理系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • 知网AIGC检测不通过怎么办?用这个方法10分钟降到10%
  • 2026年知网AIGC检测不通过怎么办?这3款降AI工具帮你搞定
  • Scaling Laws【Kaplan-2020】-08:Kaplan论文中7B模型的Loss拐点是21.5B/96.5B,为什么现在大模型的训练数据量是T级别⮕Chinchilla【2022】
  • Java计算机毕设之springboot基于elasticsearch的高校科研信息管理系统基于SpringBoot的高校科研信息管理系统设计(完整前后端代码+说明文档+LW,调试定制等)
  • 使用Nacos实现动态IP黑名单过滤
  • Java计算机毕设之基于springboot+bs架构的服务采购招投标管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 2026年免费降AI率工具哪个好?实测5款后只推荐这3个
  • 3款降AI工具实测对比:比话、嘎嘎、率零哪个效果好
  • 程序员的职业生涯规划:适应与转型
  • 【计算机毕业设计案例】基于java的网上招标系统设计与实现基于springboot+bs架构的招投标管理系统的设计与实现(程序+文档+讲解+定制)
  • 2026年毕业论文降AI工具推荐:学长亲测这4款通过率最高
  • 【毕业设计】基于springboot+bs架构的招投标管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 为什么DeepSeek+豆包+Kimi降AI效果差?问题出在这3点
  • 排查流程啊啊啊
  • 基于YOLOv8的停车场空车位目标检测项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!