成绩排序(一)c++
【 题目描述 】
有N个学生的数据,将学生数据按成绩由低到高排序,如果成绩相同则按姓名字符的字母序(A-Z,a-z)排序,如果姓名的字母序也相同则按照学生的年龄排序(由小到大排序),并输出N个学生排序后的信息。(提示,存在多组信息输入输出)
【 输入 】
测试数据有多组,每组输入第一行有一个整数N(N<=1000),接下来的N行包括N个学生的数据。
每个学生的数据包括姓名(长度不超过100的字符串)、年龄(整形数)、成绩(小于等于100的正数)。
【 输出 】
将学生信息按成绩进行排序,成绩相同的则按姓名的字母序进行排序。
然后输出学生信息,按照如下格式:
姓名 年龄 成绩
【 样例输入 】
3 zhao 19 90 qian 20 90 sun 19 100
【 样例输出 】
qian 20 90 zhao 19 90 sun 19 100
【提示】
"简单"的排序题,用C++的sort十分方便
满足某些人*代*的需求
这道题属实有亿点难,我也琢磨了好久sort排序的规则,后来才想起来strcmp......
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
struct s{char name[101];int age;int score;
};
struct s student[1000];
bool y(s a, s b) {if(a.score!=b.score) return a.score<b.score;int flag=strcmp(a.name,b.name);if(flag==0) return a.age<b.age;elsereturn flag<0 ;
}
int main(){int n;while(cin>>n){for(int i=0;i<n;i++){cin>>student[i].name>>student[i].age>>student[i].score;}sort(student,student+n,y);for(int i=0;i<n;i++) {cout<<student[i].name<<" "<<student[i].age<<" "<<student[i].score<<endl;}}return 0;
}
成绩排序(一)c++相关推荐
- python【蓝桥杯vip练习题库】ADV-290成绩排序
试题 算法提高 成绩排序 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出n个学生的成绩,将这些学生按成绩排序, 排序规则,优先考虑数学成绩,高的在前:数学相同,英语高的在前:数 ...
- 成绩排序的c语言算法,成绩排序系统(练习排序算法和复习C语言)
成绩排序系统(练习排序算法和复习C语言) 实验一 一.实验目的 1.回顾C语言中的输入.输出及结构体等相关知识点: 2.回顾函数的使用: 3.掌握插入排序.交换排序.选择排序中的常用排序的算法思想: ...
- PTA学生成绩排序-C语言详解
7-72 学生成绩排序 (20分) 给出一组学生名单(姓名和成绩),请输出按成绩从大到小排序后的结果(名次和姓名).成绩相同的人拥有相同的名次,且按姓名的字典序从小到大排列.题目保证学生姓名没有重复. ...
- java 学生成绩排序
编写一个应用程序,用户分别从两个文本框输入学术的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中. 程序运行效果如图: import java.awt.BorderLayout; i ...
- c语言用链表对学生成绩排序,学生成绩排序和平均分计算利用c语言链表的创建插入删除.doc...
#define NULL 0 #define LEN sizeof(struct student) struct student { long num; float score; struct stu ...
- 1.10 编程基础之简单排序 03 成绩排序 3分 python
http://noi.openjudge.cn/ch0110/03/ """ 1.10 编程基础之简单排序 03 成绩排序 3分 http://noi.openjudge ...
- 分别用Comparable和Comparator两个接口对下列四位同学的成绩做降序排序,如果成绩一样, 那在成绩排序的基础上按照年龄由小到大排序。 姓名(String
代码 import java.util.*;/*3.分别用Comparable和Comparator两个接口对下列四位同学的成绩做降序排序,如果成绩一样,那在成绩排序的基础上按照年龄由小到大排序.姓名 ...
- 信息学奥赛一本通 1178:成绩排序 | OpenJudge NOI 1.10 03:成绩排序
[题目链接] ybt 1178:成绩排序 OpenJudge NOI 1.10 03:成绩排序 [题目考点] 1. 结构体 排序 [君义精讲]排序算法 2. 多关键字排序 方法1:将多关键字的排序条件 ...
- 信息学奥赛一本通(1178:成绩排序)——选择排序
1178:成绩排序 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 29458 通过数: 11916 [题目描述] 给出班里某门课程的成绩单,请你按成绩从高 ...
- java 蓝桥杯算法提高 成绩排序2
试题 算法提高 成绩排序2 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 给出n个学生的成绩,将这些学生按成绩排序,排序规则:总分高的在前:总分相同,数学成绩高的在前:总分与数学相 ...
最新文章
- 互联网之父公开拍卖万维网源代码,3400万买下后发现居然有bug
- php base64处理
- linux内核杂记(11)-进程调度(6)
- java mongodb dbref_Spring DATA MongoDB @DBref查询,or和and联合查询
- 计算机课程学习小结,计算机课程学习心得5篇___.docx
- 怎样知道别人在蹭我家wifi?
- 字符串与整数、浮点数、无符号整数之间的转换常用函数
- 熊猫Pivot_table()– DataFrame数据分析
- Fourier分析基础(二)——由级数导出连续Fourier变换
- 找不到项目 该项不在计算机中,删除文件夹提示找不到该项目怎么删除?“找不到该项目”强删方法(图文)...
- python爬取豆瓣电影top250并保存为xlsx_批量抓取豆瓣电影TOP250数据
- SAR图像舰船目标检测介绍
- nmos导通流向_MOS管类型-MOS管4种类型与工作原理解析
- easyui获取图片路径_Easyui filebox(文件框)_EasyUI 插件
- 人民日报喊你学数学!实力不允许?8本书带你入门
- 怎样理解封装,继承,多态!三者的区别?
- 手机上的计算机黑屏怎么办,手机黑屏是怎么回事,详细教您苹果手机黑屏怎么办...
- 2017 云+未来峰会——上海站开发者专场即将开讲(30元电话充值卡等你拿)
- LVGL之学习篇(一)
- openGauss+KeepAlived(故障转移)