博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PTA-1028——List Sorting
阅读量:5226 次
发布时间:2019-06-14

本文共 2224 字,大约阅读时间需要 7 分钟。

题目:

Excel can sort records according to any column. Now you are supposed to imitate this function.

Input Specification:

Each input file contains one test case. For each case, the first line contains two integers N (≤) and C, where N is the number of records and C is the column that you are supposed to sort the records with. Then N lines follow, each contains a record of a student. A student's record consists of his or her distinct ID (a 6-digit number), name (a string with no more than 8 characters without space), and grade (an integer between 0 and 100, inclusive).

Output Specification:

For each test case, output the sorting result in N lines. That is, if C = 1 then the records must be sorted in increasing order according to ID's; if C = 2 then the records must be sorted in non-decreasing order according to names; and if C = 3 then the records must be sorted in non-decreasing order according to grades. If there are several students who have the same name or grade, they must be sorted according to their ID's in increasing order.

Sample Input 1:

3 1000007 James 85000010 Amy 90000001 Zoe 60

Sample Output 1:

000001 Zoe 60000007 James 85000010 Amy 90

Sample Input 2:

4 2000007 James 85000010 Amy 90000001 Zoe 60000002 James 98

Sample Output 2:

000010 Amy 90000002 James 98000007 James 85000001 Zoe 60

Sample Input 3:

4 3000007 James 85000010 Amy 90000001 Zoe 60000002 James 90

Sample Output 3:

000001 Zoe 60000007 James 85000002 James 90000010 Amy 90

分析:

排序。用cin最后一组数据超时。

代码:

1 #include
2 #include
3 #include
4 #include
5 using namespace std; 6 int n,c; 7 struct Student{ 8 int id; 9 char name[10];10 int score;11 };12 vector
students;13 14 bool compareById(Student a,Student b){15 return a.id
>n>>c;38 for(int i=0;i
>stu.id>>stu.name>>stu.score;42 students.push_back(stu);43 }44 switch(c){45 case 1:sort(students.begin(),students.end(),compareById);break;46 case 2:sort(students.begin(),students.end(),compareByName);break;47 case 3:sort(students.begin(),students.end(),compareByScore);break;48 }49 for(int i=0;i

 

 

转载于:https://www.cnblogs.com/orangecyh/p/10371501.html

你可能感兴趣的文章
128 Longest Consecutive Sequence 一个无序整数数组中找到最长连续序列
查看>>
定制jackson的自定义序列化(null值的处理)
查看>>
auth模块
查看>>
javascript keycode大全
查看>>
前台freemark获取后台的值
查看>>
log4j.properties的作用
查看>>
游戏偶感
查看>>
Leetcode: Unique Binary Search Trees II
查看>>
C++ FFLIB 之FFDB: 使用 Mysql&Sqlite 实现CRUD
查看>>
Spring-hibernate整合
查看>>
c++ map
查看>>
exit和return的区别
查看>>
js += 含义(小知识)
查看>>
B2321 [BeiJing2011集训]星器 数学&&物理
查看>>
201571030319 四则运算
查看>>
RestTemplate 调用本地服务 connection refused
查看>>
.NET方向高级开发人员面试时应该事先考虑的问题
查看>>
台达PLC modbus 不支持04功能码
查看>>
发布一个JavaScript工具类库jutil,欢迎使用,欢迎补充,欢迎挑错!
查看>>
discuz 常用脚本格式化数据
查看>>