PTA 7-22 模拟EXCEL排序
Excel可以对一组纪录按任意指定列排序。现请编写程序实现类似功能。
#include #include #include #include using namespace std;const int maxn = 1e5 + 10;struct Data { int id, score; char name[10];}data[maxn];bool cmp1(const Data& d1, const Data& d2) { return d1.id < d2.id;}bool cmp2(const Data& d1, const Data& d2) { int x = strcmp(d1.name, d2.name); if (x != 0) return x < 0 ? true : false; return d1.id < d2.id;}bool cmp3(const Data& d1, const Data& d2) { if (d1.score != d2.score) return d1.score < d2.score; return d1.id < d2.id;}int main() { int n, c; scanf("%d %d", &n, &c); for (int i = 0; i < n; i++) scanf("%d %s %d", &data[i].id, data[i].name, &data[i].score); if (c == 1) sort(data, data + n, cmp1); if (c == 2) sort(data, data + n, cmp2); if (c == 3) sort(data, data + n, cmp3); for (int i = 0; i < n; i++) { printf("%06d %s %d\n", data[i].id, data[i].name, data[i].score); } return 0;}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~