【HDU】1862 EXCEL排序(结构体排序)
行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时,全部输入结束,相应的结果不要输出。
时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。
应该是非常经典的一道题了,主要考察结构体排序,用sort函数,选择不同的cmp即可。
关于sort和qsort函数的使用,建议参考:
https://www.cnblogs.com/AlvinZH/p/6784862.html?utm_source=itdadao&utm_medium=referral
https://blog.csdn.net/eapid/article/details/1552310
代码:
//
// main.cpp
// 1862
//
// Created by showlo on 2018/4/10.
// Copyright © 2018年 showlo. All rights reserved.
//#include <stdio.h>
#include <algorithm>
#include <string>
using namespace std;
struct Student{int id;char name[10];int score;
}stu[100100];bool cmp1(Student a,Student b)
{return a.id<b.id;
}int cmp2(Student a,Student b)
{if (strcmp(a.name, b.name)<0)return 1;else if (strcmp(a.name, b.name)==0&&(a.id<b.id))return 1;elsereturn 0;
}bool cmp3(Student a,Student b)
{if (a.score!=b.score)return a.score<b.score;elsereturn a.id<b.id;
}int main() {int n,c,i,num;num=0;while (scanf("%d %d",&n,&c)!=EOF) {if (n==0)break;num++;for (i=0; i<n; i++)scanf("%d %s %d",&stu[i].id,stu[i].name,&stu[i].score);if (c==1)sort(stu,stu+n,cmp1);else if (c==2)sort(stu,stu+n,cmp2);else if (c==3)sort(stu,stu+n,cmp3);printf("Case %d:\n",num);for (i=0; i<n; i++) {printf("%06d %s %d\n",stu[i].id,stu[i].name,stu[i].score);}}return 0;
}
参考:https://www.cnblogs.com/love-sherry/p/6964985.html
【HDU】1862 EXCEL排序(结构体排序)相关推荐
- 结构体排序+sort()
目录 1.结构体定义 2.sort排序 1.sort()函数的头文件和用法举例 2.sort()函数的参数说明 两个参数 三个参数 3.结构体排序 1.结构体定义 结构体(struct)是由一系列具有 ...
- C语言结构体和结构体排序
结构体 结构体是一种构造数据类型 (构造数据类型包括:数组类型.结构体类型.共用体类型) 定义:把不同的数据组合成一个整体. 结构体的一般形式 struct [结构体名称]//struct是关键字 { ...
- C++结构体排序,优先队列,运算符重载
文章目录 基本数据类型排序 结构体排序 比较函数 重载结构体运算符 优先队列 另外一种方法 优先队列基本知识 基本数据类型排序 #include <algorithm> #include ...
- Monkey and Banana HDU - 1069 [ 结构体排序+DP最长不上升子序列 ] 详细题解
题解目录 1.题目 2.题意 3.思路 4.代码 1.题目 A group of researchers are designing an experiment to test the IQ of a ...
- qvector 结构体排序_C++结构体的应用_YCOJ
结构体是一种自定义的东西,用struct来定义.在他里面, 可以装许多东西,比如int,string,char,bool等等等等. 如: struct a{ string name; int a; i ...
- 还是贪心(结构体排序)
2128: 盾神与积木游戏 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 127 Solved: 39 [Submit][Status][Web Boa ...
- sort对结构体排序
1.排序方法: sort(数组起始指针,数组尾指针,排序规则); 数组起始指针,数组尾指针是左闭右开 排序规则可以省略,也可以用系统的,也可以自己写 2.例子: int a[]={9,2,4,5,10 ...
- P1068 分数线划定 洛谷 (C++)(结构体排序)
简单的结构体排序,代码如下 #include <iostream> #include <cstdio> #include <algorithm> #include ...
- C#中结构体排序方法(Array.sort() + ICompare)
感觉C#比C++麻烦许多,资料也少,找了半天竟然没有找到一个能用的结构体排序. 这是待排序的结构体: public struct la{public int id;public int sb;}; 首 ...
最新文章
- 好书推荐系列之:你在为谁工作
- Dataset之Rotten Tomatoes:Rotten Tomatoes影评数据集简介、下载、使用方法之详细攻略
- 在 XML 中添加实体
- 说说大型高并发高负载网站的系统架构(ZT)
- java字符串 删除指定字符的那些事
- mysql日志输出到syslog_在chroot环境下将MySQL日志输出到syslog
- Pytorch:比较函数
- 代码测试意味着完全消灭了 Bug?
- iOS通过ASIHTTPRequest提交JSON数据
- python怎么连接linux服务器,python连接linux服务器
- Stacked Hourglass Networks简析
- windows ghost备份
- 计算机运行很卡很慢,PS打开很卡怎么办?电脑太老PS运行慢如何优化?
- 灵格斯(lingoes)词霸 + Acapela破解语音包(法语,德语,西班牙语,美国英语)
- 「MacTeX 小笔记」LaTeX 学习资料推荐篇
- 高速串行计算机扩展总线标准,高速串行计算机扩展总线标准Bosch Sensortec开发出BMP384...
- cad延伸命令怎么用_CAD拉伸怎么用
- eNSP实验STP简单配置及介绍
- TCP三次握手的原因
- uniapp隐藏页面顶部导航栏和手机系统顶部导航栏
热门文章
- matlab 分图 总标题,matlab中figure有多个图时,设定总标题的方法
- ★平衡法则在生活中的应用
- C++Primer(5th) Notes - 2.1 基本内置类型
- 幻核退出 “数字藏品有何用”阶段性无解
- 抖音广告多少种,这些你知道吗?
- NCBI中SRA数据下载
- el-table表格数据 中文 键值渲染
- 导出期刊对应格式的参考_中文参考文献怎么一键导出正确格式?写作必看!
- U-Net: Convolutional Networks for Biomedical Image Segmentation 解析
- 在命令提示符 “CMD” 中打印输出时间