news 2026/4/28 17:10:33

3375.成绩排序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:27:14

【课程设计/毕业设计】基于BS招投标管理系统的设计与实现基于springboot+bs架构的招投标管理系统的设计与实现【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/26 7:35:34

Java毕设项目:基于springboot+bs架构的招投标管理系统的设计与实现(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/27 2:23:07

Java计算机毕设之基于Spring Boot的宿舍管理系统基于springboot的高校学生宿舍管理系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/17 18:42:09

88888888

888888

作者头像 李华
网站建设 2026/4/14 3:15:02

从自动化到协作化:AI原生应用的范式转变

从自动化到协作化:AI原生应用的范式转变 关键词:AI原生应用、自动化、协作化、人机协同、智能增强、多模态交互、认知计算 摘要:当AI从“替代人类劳动”进化到“与人类共同创造”,一场静默的技术革命正在发生。本文将带您穿越AI应用的发展脉络,从“自动化”时代的效率革命…

作者头像 李华