hdoj1862
来源:互联网 发布:如何看龙虎榜数据 编辑:程序博客网 时间:2024/06/05 09:45
题目大意:
如题所示
解题思路:
改一下cmp函数即可
代码如下:
#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct { int id, grade; char name[10] ;} node;node S[100005];int cmp1(const void * x, const void * y) { node * a = (node *)x; node * b = (node *)y; return a->id > b->id ? 1 : -1;}int cmp2(const void * x, const void * y) { node * a = (node *)x; node * b = (node *)y; if(strcmp(a->name, b->name) != 0) return strcmp(a->name, b->name) > 0 ? 1 : -1; return a->id > b->id ? 1 : -1;}int cmp3(const void * x, const void * y) { node * a = (node *)x; node * b = (node *)y; if(a->grade != b->grade) return a->grade > b->grade ? 1 : -1; return a->id > b->id ? 1 : -1;}int main() { int n, c,i, cc = 0; while(scanf("%d%d", &n, &c), n||c) { for(i=0; i<n; i++) scanf("%d%s%d", &S[i].id, S[i].name, &S[i].grade); printf("Case %d:\n", ++cc); if(c == 1) qsort(S, n, sizeof(S[0]), cmp1); if(c == 2) qsort(S, n, sizeof(S[0]), cmp2); if(c == 3) qsort(S, n, sizeof(S[0]), cmp3); for(i=0; i<n; i++) printf("%06d %s %d\n", S[i].id, S[i].name, S[i].grade); } return 0;}
0 0
- hdoj1862
- hdoj1862
- EXCEL排序<hdoj1862>
- hdoj1862 EXCEL排序(sort、结构体)
- HDOJ1862 EXCEL排序(比较器)
- css的各种分割线
- sqlplus / as sysdba 详解
- 函数指针与指针函数
- 自己写的关于sqlite的封装代码
- 求链表中倒数第k个结点-Java实现
- hdoj1862
- android 预置apk so库 jar包等
- 中国航天领域大数据应用
- R 图表中的字体调整
- MySql之增删改查总结
- 【BZOJ 1007】 [HNOI2008]水平可见直线
- 杀死python进程
- Java值传递和引用传递【待完善】
- hdoj1997