当前位置: 首页> 教育> 幼教 > 阿里代运营公司前十名_傻瓜自助建站软件_搜索推广广告_创建自己的网站怎么弄

阿里代运营公司前十名_傻瓜自助建站软件_搜索推广广告_创建自己的网站怎么弄

时间:2025/8/29 15:32:56来源:https://blog.csdn.net/2301_78006009/article/details/146505982 浏览次数:0次
阿里代运营公司前十名_傻瓜自助建站软件_搜索推广广告_创建自己的网站怎么弄

原题

1028 List Sorting - PAT (Advanced Level) Practice

题目大意

输入n个学生的id、姓名、分数,再输入C表示对C列进行排序。

id:从小到大排

姓名:姓名不同时从小到大排,相同时id从小到大排

分数:不同时从小到大排,相同时id从小到大排

解题思路

调用自带的sort函数,自定义比较函数

代码(c++)
#include <bits/stdc++.h>using namespace std;const int N = 100010;struct stu {string id, name;int score;
}stus[N];bool cmp1(const stu &a, const stu &b) {              // 比较idreturn a.id < b.id;
}bool cmp2(const stu &a, const stu &b) {              // 比较姓名if (a.name != b.name) return a.name < b.name;return a.id < b.id;
}bool cmp3(const stu &a, const stu &b) {              // 比较分数if (a.score != b.score) return a.score < b.score;return a.id < b.id;
}int main() {int n, cmp;cin >> n >> cmp;for (int i = 0; i < n; i++)cin >> stus[i].id >> stus[i].name >> stus[i].score;switch (cmp) {case 1:sort(stus, stus + n, cmp1);break;case 2:sort(stus, stus + n, cmp2);break;case 3:sort(stus, stus + n, cmp3);break;default:return 0;}for (int i = 0; i < n; i++)cout << stus[i].id << " " << stus[i].name << " " << stus[i].score << endl;return 0;
}

关键字:阿里代运营公司前十名_傻瓜自助建站软件_搜索推广广告_创建自己的网站怎么弄

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: