题目4:EXCEL排序
- 题目描述:
-
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
// 题目4:EXCEL排序.cpp: 主项目文件。//#include "stdafx.h"
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stack>
using namespace std;const int N=100001;
typedef struct STU
{int no,score;char name[9];
}STU;
STU stu[N];bool cmp1(STU m1,STU m2)
{return m1.no<m2.no;
}bool cmp2(STU m1,STU m2)
{if(strcmp(m1.name,m2.name)!=0)return strcmp(m1.name,m2.name)<0;elsereturn m1.no<m2.no;
}bool cmp3(STU m1,STU m2)
{if(m1.score!=m2.score)return m1.score<m2.score;elsereturn m1.no<m2.no;
}int main()
{//freopen("F:\\test.txt","r",stdin);//freopen("F:\\output.txt","w",stdout);int n,m;int caseCnt=1;while(scanf("%d%d",&n,&m)!=EOF){if(n==0)break;printf("Case %d:\n",caseCnt++);for(int i=0;i<n;i++)scanf("%d%s%d",&stu[i].no,stu[i].name,&stu[i].score);if(m==1)sort(stu,stu+n,cmp1);else if(m==2)sort(stu,stu+n,cmp2);elsesort(stu,stu+n,cmp3);for(int i=0;i<n;i++)printf("%06d %s %d\n",stu[i].no,stu[i].name,stu[i].score);}return 0;
}
转载于:https://www.cnblogs.com/cjweffort/archive/2013/03/02/3374937.html
题目4:EXCEL排序相关推荐
- C语言 qsort的用法 模拟EXCEL排序
C语言 qsort的用法 模拟EXCEL排序 题目 Excel可以对一组记录按任意指定列排序.现请编写程序实现类似的功能. 输入 输入的第一行包含两个正整数N(<= 10^5)和C,其中N是记录 ...
- C++EXCEL排序
C++EXCEL排序 Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. Input 测试输入包含若干测试用例.每个测试用例的第1行包含两个整数 N (<=100000) 和 ...
- 1926 Problem C EXCEL排序
问题 C: EXCEL排序 时间限制: 1 Sec 内存限制: 32 MB 题目描述 Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行" ...
- 问题 C: EXCEL排序
http://codeup.cn/problem.php?cid=100000581 题目描述 Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行&q ...
- 算法笔记1926ProblemC Excel排序
题目描述 Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行"Case i:",其中 i 是测试用例的编号(从1开始).随后在 N ...
- 算法笔记4.1问题 C: EXCEL排序
题目描述 Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行"Case i:",其中 i 是测试用例的编号(从1开始).随后在 N ...
- 算法笔记练习 4.1 排序 问题 C: EXCEL排序
算法笔记练习 题解合集 题目链接 题目 题目描述 Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行"Case i:",其中 i ...
- 《算法笔记》4.1小节——算法初步->排序 问题 C: EXCEL排序
题目描述 Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行"Case i:",其中 i 是测试用例的编号(从1开始).随后在 N ...
- 《算法笔记》4.1小节——算法初步-排序 问题 C: EXCEL排序
问题 C: EXCEL排序 题目描述 Excel可以对一组纪录按任意指定列排序.现请你编写程序实现类似功能. 对每个测试用例,首先输出1行"Case i:",其中 i 是测试用例的 ...
最新文章
- pytorch利用多个GPU并行计算多gpu
- 004_SpringMVC分层配置文件
- 不要让海浪中奔腾的豪情任岁月摧折,不要让江风中许下的誓言随流水消逝
- python处理数据0和负数跳过_Python第十一章-常用的核心模块03-json模块
- 地图事件触发_使用地图触发功能处理相干事件
- 大数据和后端学习知识体系思维导图
- 北大计算机系统结构学硕,转自包云刚,希望的原野 最近几个月参加了计算所、北大、上海交大多位计算机系统结构硕士与博士的答辩,说几点体会: ① 高水平国际论文越来越多。简单... - 雪球...
- 一文带你掌握Redis操作指南
- 06_Jedis完成MySQL的条件查询案例
- 传统银行的战略转型之路,长沙银行迈向数据驱动提质年
- android之去掉actionbar
- 虚拟主机支持ssl支持php7,虚拟主机支持https改造吗
- 追赶法源程序c语言,追赶法求三对角线方程组程序设计.doc
- [经典进程同步问题]哲学家思考
- 数据增强_炼丹笔记三:数据增强
- 汇编语言编写程序从1加到100要求使用循环结构。
- 互联网日报 | 4月5日 星期一 | 华为首款台式显示器登陆海外;腾讯视频VIP会员4月10日起涨价;我国民宿房源超300万套...
- 无损检测行业市场发展机遇分析及市场规模竞争战略可行性研究预测
- 获取局域网远程主机ipv6地址
- 怎样快速将pdf转成excel