7-37 模拟EXCEL排序 (25 分)

Excel可以对一组纪录按任意指定列排序。现请编写程序实现类似功能。

输入格式:

输入的第一行包含两个正整数N(≤10​5​​) 和C,其中N是纪录的条数,C是指定排序的列号。之后有 N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,保证没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩([0, 100]内的整数)组成,相邻属性用1个空格隔开。

输出格式:

在N行中输出按要求排序后的结果,即:当C=1时,按学号递增排序;当C=2时,按姓名的非递减字典序排序;当C=3时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。

输入样例:

3 1
000007 James 85
000010 Amy 90
000001 Zoe 60

输出样例:

000001 Zoe 60
000007 James 85
000010 Amy 90

基础的结构体排序

#include<iostream>
#include<vector>
#include<set>
#include<map>
#include<algorithm>
using namespace std;
#define MAXN 100010typedef struct Stu{string stuNum;string name;int grade;
};
struct Stu student[MAXN];bool cmp1(Stu a,Stu b)
{return a.stuNum<b.stuNum;
}bool cmp2(Stu a,Stu b)
{if(a.name == b.name)return a.stuNum<b.stuNum;else return a.name<b.name;
}bool cmp3(Stu a,Stu b)
{if(a.grade == b.grade)return a.stuNum<b.stuNum;else return a.grade<b.grade;
}int main()
{int n,a;cin>>n>>a;for(int i = 0;i<n;i++){cin>>student[i].stuNum>>student[i].name>>student[i].grade;}if(a==1)sort(student,student+n,cmp1);else if(a==2)sort(student,student+n,cmp2);elsesort(student,student+n,cmp3);for(int i = 0;i<n;i++){cout<<student[i].stuNum<<" "<<student[i].name<<" "<<student[i].grade<<endl;}return 0;
}

7-37 模拟EXCEL排序 (25 分)相关推荐

  1. 7-1 模拟EXCEL排序 (25 分)

    7-1 模拟EXCEL排序 (25 分) Excel可以对一组纪录按任意指定列排序.现请编写程序实现类似功能. 输入格式: 输入的第一行包含两个正整数N(≤10 ​5 ​​ ) 和C,其中N是纪录的条 ...

  2. R7-9 模拟EXCEL排序 (25 分)

    R7-9 模拟EXCEL排序 (25 分) Excel可以对一组纪录按任意指定列排序.现请编写程序实现类似功能. 输入格式: 输入的第一行包含两个正整数N(≤105) 和C,其中N是纪录的条数,C是指 ...

  3. 7-2 模拟EXCEL排序 (25分) PTA

    7-2 模拟EXCEL排序 (25分) Excel可以对一组纪录按任意指定列排序.现请编写程序实现类似功能. 输入格式: 输入的第一行包含两个正整数N(≤10 ​5 ​​ ) 和C,其中N是纪录的条数 ...

  4. 7-37 模拟EXCEL排序 (25 分)(思路+详解+超时解决 兄弟们冲呀呀呀呀呀呀)

    一:题目 Excel可以对一组纪录按任意指定列排序.现请编写程序实现类似功能. 输入格式: 输入的第一行包含两个正整数N(≤10 5 ) 和C,其中N是纪录的条数,C是指定排序的列号.之后有 N行,每 ...

  5. 7-5 模拟EXCEL排序 (15 分)

    Excel可以对一组纪录按任意指定列排序.现请编写程序实现类似功能. 输入格式: 输入的第一行包含两个正整数N(≤105) 和C,其中N是纪录的条数,C是指定排序的列号.之后有 N行,每行包含一条学生 ...

  6. 7-47 对称排序 (25 分)

    7-47 对称排序 (25 分) 你供职于由一群丑星作为台柱子的信天翁马戏团.你刚完成了一个程序编写,它按明星们姓名字符串的长度非降序(即当前姓名的长度至少与前一个姓名长度一样)顺序输出他们的名单.然 ...

  7. 7-210 英文单词排序 (25 分)

    7-210 英文单词排序 (25 分) 本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出.如果长度相同,按照输入的顺序不变. 输入格式: 输入为若干英文单词,每行一个,以#作为输 ...

  8. 7-207 排序 (25 分)

    7-207 排序 (25 分) 给定N个(长整型范围内的)整数,要求输出从小到大排序后的结果. 本题旨在测试各种不同的排序算法在各种数据情况下的表现.各组测试数据特点如下: 数据1:只有1个元素: 数 ...

  9. C语言 qsort的用法 模拟EXCEL排序

    C语言 qsort的用法 模拟EXCEL排序 题目 Excel可以对一组记录按任意指定列排序.现请编写程序实现类似的功能. 输入 输入的第一行包含两个正整数N(<= 10^5)和C,其中N是记录 ...

  10. 7-2 英文单词排序 (25分)

    7-2 英文单词排序 (25分) 本题要求编写程序,输入若干英文单词,对这些单词按长度从小到大排序后输出.如果长度相同,按照输入的顺序不变. 输入格式: 输入为若干英文单词,每行一个,以#作为输入结束 ...

最新文章

  1. Docker运行PostgreSQL
  2. Python基本数据类型的注意事项
  3. HDU 4930 Fighting the Landlords(扯淡模拟题)
  4. 虚拟机安装CentOS,网络配置
  5. X-Mas Musings –在Grails集成测试中不要使用随机服务器端口
  6. OJ1089: 阶乘的最高位(C语言)
  7. ANC双重降噪+三种沉浸立体音效 OPPO无线降噪耳机正式发布
  8. linux环境变量权限不够,linux环境变量及权限的理解
  9. 【汇编语言】多模块程序结构
  10. Windows Server 启用或关闭ping端口
  11. 每个大主播都是满屏弹幕,怎么做到的?Python实战无限刷弹幕!
  12. 一键拼接所有微信好友头像
  13. 从Soul APP 看社交升级新玩法
  14. vbs整人小脚本(搞笑)
  15. 《微观经济学》第一章
  16. 12306 崩了,90% 的人都用过这三款抢票工具
  17. nginx中报403 Forbidden问题
  18. 使用Navicat快速复制所有表的表名或字段名
  19. Latex表格单元格内文本顶着上格线解决
  20. 判断图中有没有证件图片

热门文章

  1. 尚硅谷-SpringBoot1.5.9(已过时,直接学2)
  2. (组合数+快速幂+lucas+费马小引理)acwing 887. 求组合数 III
  3. WWW 2017精选论文
  4. vs code 快速生成html模板插件
  5. 外贸邮箱企业邮箱,免费外贸企业邮箱大全,外贸企业邮箱都有哪些?
  6. 海洋地球物理探测方法综述(一)地震和重磁
  7. 移动端300ms延迟_移动端300ms延迟原因及解决方案
  8. 【微信小程序】---授权登陆---【巷子】
  9. pandas学习-变形-task15
  10. 易企秀HTML5文件,怎么用易企秀制作h5场景秀?