题目描述:
Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。
对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3
时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。
输入:
测试输入包含若干测试用例。每个测试用例的第1行包含两个整数 N (N<=100000) 和 C,其中 N 是纪录的条数,C 是指定排序的列号。以下有N行,每行包含一条学生纪录。每条学生纪录由学号(6位数字,同组测试中没有重复的学号)、姓名(不超过8位且不包含空格的字符串)、成绩(闭区间[0, 100]内的整数)组成,每个项目间用1个空格隔开。当读到 N=0 时,全部输入结束,相应的结果不要输出。
输出:
对每个测试用例,首先输出1行“Case i:”,其中 i 是测试用例的编号(从1开始)。随后在 N 行中输出按要求排序后的结果,即:当 C=1 时,按学号递增排序;当 C=2时,按姓名的非递减字典序排序;当 C=3
时,按成绩的非递减排序。当若干学生具有相同姓名或者相同成绩时,则按他们的学号递增排序。
样例输入:
3 1
000007 James 85
000010 Amy 90
000001 Zoe 60
4 2
000007 James 85
000010 Amy 90
000001 Zoe 60
000002 James 98
4 3
000007 James 85
000010 Amy 90
000001 Zoe 60
000002 James 90
0 0
样例输出:
Case 1:
000001 Zoe 60
000007 James 85
000010 Amy 90
Case 2:
000010 Amy 90
000002 James 98
000007 James 85
000001 Zoe 60
Case 3:
000001 Zoe 60
000007 James 85
000002 James 90
000010 Amy 90


AC代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;struct Grade{char no[7];char name[9];int grade;
};int cmp_no(struct Grade g1 , struct Grade g2)
{return strcmp(g1.no,g2.no)<0;
}int cmp_name(struct Grade g1 , struct Grade g2)
{return strcmp(g1.name,g2.name)<0;
}int cmp_grade(struct Grade g1 , struct Grade g2)
{return g1.grade<g2.grade;
}int main()
{int N,index;int cnt = 1; while(scanf("%d %d",&N,&index)){if(N == 0){break;}struct Grade grades[N];for(int i = 0 ; i < N ; i++){scanf("%s %s %d\n",&grades[i].no,&grades[i].name,&grades[i].grade);}stable_sort(grades,grades+N,cmp_no);    switch(index){case 1: break;case 2: stable_sort(grades,grades+N,cmp_name);break;case 3: stable_sort(grades,grades+N,cmp_grade);break;}printf("Case %d:\n",cnt++);for(int i = 0 ; i < N ; i++){printf("%s %s %d\n",grades[i].no,grades[i].name,grades[i].grade);}}return 0;
}

附:这题说实在的确不难,就是排序问题,但只有一个测试用例,估计不错的是大数据,这里题里面不能用c++的string这真是够烦的,提交多次才成功。

九度OJ——1023Excel排序相关推荐

  1. Freckles - 九度 OJ 1144

    Freckles - 九度 OJ 1144 题目 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: In an episode of the Dick Van Dyke show, l ...

  2. Leagal or Not - 九度 OJ 1448

    Leagal or Not - 九度 OJ 1448 题目 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: ACM-DIY is a large QQ group where man ...

  3. 打不开磁盘配额linux,九度OJ 1455 珍惜现在,感恩生活 -- 动态规划(背包问题)...

    题目描述: 为了挽救灾区同胞的生命,心系灾区同胞的你准备自己采购一些粮食支援灾区,现在假设你一共有资金n元,而市场有m种大米,每种大米都是袋装产品,其价格不等,并且只能整袋购买.请问:你用有限的资金最 ...

  4. 非常可乐(九度 OJ 1457)

    非常可乐(九度 OJ 1457) 时间限制:1 秒 内存限制:32 兆 特殊判题:否 1.题目描述: 大家一定觉的运动以后喝可乐是一件很惬意的事情,但是 seeyou 却不这么认为.因为每次当 see ...

  5. 九度OJ 题目1179:阶乘

    /********************************* * 日期:2013-2-8 * 作者:SJF0115 * 题号: 九度OJ 题目1179:阶乘 * 来源:http://ac.jo ...

  6. 九度OJ——1028继续畅通工程

    题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).现得到城镇道路统计表,表中列出了任意两城镇间修 ...

  7. 九度OJ 题目1069:查找学生信息 随笔

    ** 九度OJ 题目1069:查找学生信息 ** 题目描述如下: 输入N个学生的信息,然后进行查询. 输入 输入的第一行为N,即学生的个数(N<=1000) 接下来的N行包括N个学生的信息,信息 ...

  8. 九度OJ 题目1203:IP地址

    /********************************* * 日期:2013-2-8 * 作者:SJF0115 * 题号: 九度OJ 题目1203:IP地址 * 来源:http://ac. ...

  9. 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)

    题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有 ...

最新文章

  1. 也谈Hashtable
  2. imagex使用方法_Microsoft OneDrive 的使用心得,真香
  3. 离散数学和组合数学什么关系_关系类型| 离散数学
  4. mysql三大范式_数据库的三大范式?
  5. (11)Verilog HDL变量:wire型
  6. python绘制turtle心电图代码_python的生态系统是由标准库和第三方库组成的,turtle库是其标准库,所以不需要安装。_学小易找答案...
  7. 凌云ERP解析企业如何选择合适的ERP系统
  8. 计算机学报在线阅读,计算机学报CHIN
  9. 【ARM】嵌入式 ARM Linux 下移植 USB 蓝牙、交叉编译 bluez 各种版本
  10. php作为客户端websocket,使用PHP客户端连接到websocket
  11. 示波器数据用matlab进行fft,示波器CSV波形数据导入Matlab进行FFT分析.doc
  12. 社交APP软件开发上线
  13. dsp31段最佳调音图_DSP调音技术~DSP功放31段EQ详解~DSP调音师推荐
  14. python可视化(4)色板(mpl.colors, colormap, plt.cm, palette)
  15. 网络与验证服务器失联怎样修复,GCP用一键服务器失联了,如何重装系统?
  16. 【学习总结】数学-lucas定理
  17. ECMA7 新标准概述
  18. 网络类型_多种类型的网络钓鱼攻击和诈骗
  19. Win11 2022更新向所有符合兼容要求的用户开放,你会升级吗?
  20. ubuntu下TFTP Server 的安装和使用方法

热门文章

  1. 【生信】初探基因定位和全基因组关联分析
  2. 解决斜杠符号被转义的问题
  3. CSBJ综述:微生物组数据挖掘方法的挑战与机遇
  4. IOS课程期末项目报告
  5. /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵
  6. 3dmaxs坐标轴不显示灰色显示(没有坐标轴箭头)
  7. 英语语法浅入-learning
  8. 谈谈传递闭包以及自己杂想
  9. Charles抓包(数据)
  10. Ubuntu20.04安装yum