文章目录

  • 题目分析
  • 题目链接

题目分析

用结构体来存,写三个排序函数。
本题需要注意的点是:
用cin来读会超时,所以用C语言的scanf来读。这样的话,就不能使用string,而是使用char数组。

char id[10],name[10];int grade;scanf("%s%s%d",id,name,&grade);

另外输出的时候把string转化成 char *

c_str()函数返回一个指向以null结尾的字符数组的指针,该数组的数据等于存储在字符串中的数据。

 for(auto c:ranks){printf("%s %s %d\n",c.id.c_str(),c.name.c_str(),c.grade);}

ac代码

#include<bits/stdc++.h>
using namespace std;const int N =1e5+10;struct Student{string id ,name;int grade;
};
vector<Student> ranks;bool cmp1(Student a ,Student b){return a.id<b.id;
}bool cmp2(Student a ,Student b){if(a.name!=b.name) return a.name<b.name;return a.id<b.id;
}bool cmp3(Student a ,Student b){if(a.grade!=b.grade) return a.grade<b.grade;return a.id<b.id;
}int main(){int n,c;scanf("%d%d",&n,&c);while(n--){char id[10],name[10];int grade;scanf("%s%s%d",id,name,&grade);ranks.push_back({id,name,grade});}if(c==1)sort(ranks.begin(),ranks.end(),cmp1);else if(c==2)sort(ranks.begin(),ranks.end(),cmp2);else sort(ranks.begin(),ranks.end(),cmp3);for(auto c:ranks){printf("%s %s %d\n",c.id.c_str(),c.name.c_str(),c.grade);}}

题目链接

PAT甲级1028 List Sorting

PAT甲级1028 List Sorting:[C++题解]排序,cin和cout会超时相关推荐

  1. PAT甲级题目翻译+答案 AcWing(排序)

    1012 The Best Rank (25 分) 题意 :给ID和3门成绩,计算其平均分A,输出每位学生最好的排名,A>C>M>E 思路 :如果将所需的若干个元素中使第一个元素为后 ...

  2. PAT甲级1029 Median:[C++题解]贪心、二路归并

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 如果直接排序,时间复杂度是O(nlogn),n=2∗105O(nlogn),\ n=2*10^5O(nlogn), n=2∗105会 ...

  3. PAT甲级1070 Mooncake:[C++题解]贪心

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析: 对单件从高到低排序. 需要注意的是总需要量d设成double,不要设成int. ac代码 #include<bits/stdc ...

  4. PAT甲级1008 Elevator:[C++题解]模拟

    文章目录 题目分析 题目来源 题目分析 来源:acwing 分析:统计上升次数.下降次数:停留次数就是n.然后算数即可. ac代码 #include<bits/stdc++.h> usin ...

  5. PAT甲级1077 Kuchiguse:[C++题解]字符串、最长公共后缀

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 读入n个字符串s[n],以s[0]为基础找公共后缀.枚举后缀的长度,内层循环遍历其他字符串,判断是否后缀相等. 使用子串的函数sub ...

  6. PAT甲级1078 Hashing:[C++题解]哈希表、哈希表开放寻址法、二次探测法

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 本题建立hash表是利用只具有正增量的二次探测法来解决冲突, 索引 = 数 % 哈希表的大小 如果映射到同一个索引idx,hash表 ...

  7. PAT甲级1003 Emergency:[C++题解]dijkstra求最短路、最短路条数

    文章目录 题目分析 题目链接 题目分析 分析:求单源最短路,使用dijkstra()算法. 最短路的条数,和最短路中 人数最多的一条,输出最多人数. 本题点比较少,使用邻接矩阵d[N][N]来存. a ...

  8. PAT甲级1032 Sharing :[C++题解]链表

    文章目录 题目分析 题目链接 题目分析 思路:建立链表,这里使用数组.e [ ] 表示当前的数值,ne[ ]表示next指针. 求单词的公共后缀,就是求两个链表从头结点开始第一个公共的结点. 先遍历第 ...

  9. PAT甲级1010 Radix :[C++题解]进制位、秦九韶算法、二分(PAT通过率最低的一道题0.11)

    文章目录 题目分析 题目链接 题目分析 分析: 本题思路分两步. 第一步:先把给出数值和进制的数,暂定为N1,转换成10进制,即为target. 第二步: 判断一下N2在多少进制下是等于target的 ...

最新文章

  1. 跨平台PHP调试器设计及使用方法——通信
  2. Docker 服务终端 UI 管理工具
  3. CHIL-SQL-FIRST() 函数
  4. .net 零碎点梳理
  5. mysql数据版本控制_如何对MySQL数据模型进行版本控制和同步?
  6. 一文了解贪心算法和回溯算法在前端中的应用
  7. axure实现复选框全选_表格设置一键全选按钮,这样的打√方式,只需要三步搞定...
  8. c/c++成长之捷径
  9. 【总结】学了不少自然语言处理的理论知识,如何通过实战进一步提高能力?...
  10. 爱奇艺多模态短视频内容标签技术及应用
  11. 关于library cache lock
  12. leetcode报错reached end of file while parsing
  13. 5 位改变世界的女性程序员
  14. 耿建超英语语法---非谓语动词作同位语和定语
  15. 【YOLOv5】结合GradCAM热力图可视化
  16. 【福利帖】7日玩转ESP32
  17. MySQL 系统表空间ibdata:我也不想当一个死肥宅
  18. 2021高考成绩查询理综各科得分,2021高考一共几科 总分多少分
  19. 同轴电缆阻抗总结(电阻、阻抗、特性阻抗)
  20. 要是有天你不想再敲代码了,你想做什么?

热门文章

  1. mySql 注入攻击
  2. Lucky7(hdu5768)
  3. [BZOJ1061][Noi2008]志愿者招募
  4. bzoj 2186: [Sdoi2008]沙拉公主的困惑
  5. 为模型推断的端部的大小
  6. 分子动力学模拟软件_基于GPU的分子动力学软件ACEMD的简介与安装
  7. 【STM32】位操作、按位与、按位或、按位异或、取反、左移、右移等基础 C 语言知识补充
  8. 1.2 数学符号-深度学习第五课《序列模型》-Stanford吴恩达教授
  9. 验证STIL的pattern的输入输出顺序
  10. 开源自制6通道航模遥控器,Arduino Pro Mini NRF24L01模块