1006. Sign In and Sign Out (25)
2014-10-28 13:35
204 查看
1006. Sign In and Sign Out (25)
1006. Sign In and Sign Out (25)题目易懂。用了个 结构体数组 的快排解决,虽然通过了,但感觉麻烦了。
# include <stdio.h> # include <stdlib.h> typedef struct stu { char name[20]; char in[10]; char out[10]; long intime; long outtime; }STU; int cmp1(const void *a,const void *b) { return (*(STU *)a).intime > (*(STU *)b).intime ?1:-1; } int cmp2(const void *a,const void *b) { return (*(STU *)a).outtime < (*(STU *)b).outtime ?1:-1; } int main() { int M, i; STU r[50]; scanf("%d",&M); for(i = 0; i < M; i ++) { scanf("%s%s%s",r[i].name,r[i].in,r[i].out); r[i].intime = (r[i].in[0]-'0')*100000 + (r[i].in[1]-'0')*10000 + (r[i].in[3]-'0')*1000 + (r[i].in[4]-'0')*100 + (r[i].in[6]-'0')*10 +(r[i].in[7]-'0'); r[i].outtime = (r[i].out[0]-'0')*100000 + (r[i].out[1]-'0')*10000 + (r[i].out[3]-'0')*1000 + (r[i].out[4]-'0')*100 + (r[i].out[6]-'0')*10 +(r[i].out[7]-'0'); } qsort(r,M,sizeof(STU),cmp1); printf("%s ",r[0].name); qsort(r,M,sizeof(STU),cmp2); printf("%s",r[0].name); return 0; }
相关文章推荐
- PAT1006. Sign In and Sign Out (25)
- 【PAT Advanced Level】1006. Sign In and Sign Out (25)
- 1006. Sign In and Sign Out (25)
- 1006. Sign In and Sign Out (25)
- PAT 1006. Sign In and Sign Out (25)
- PAT 1006. Sign In and Sign Out (25)
- 1006. Sign In and Sign Out (25)
- PAT 1006. Sign In and Sign Out (25)
- 1006. Sign In and Sign Out (25)
- 1006. Sign In and Sign Out (25)
- 【PAT】1006. Sign In and Sign Out (25)
- PAT 1006. Sign In and Sign Out (25)
- 1006. Sign In and Sign Out (25)
- PAT A 1006. Sign In and Sign Out (25)
- PAT (Advanced Level) Practise 1006. Sign In and Sign Out (25)
- 【PAT Advanced Level】1006. Sign In and Sign Out (25)
- 1006 Sign In and Sign Out (25)
- 【c++】PAT (Advanced Level) 1006. Sign In and Sign Out (25)
- 1006. Sign In and Sign Out (25)
- 浙江大学PAT_甲级_1006. Sign In and Sign Out (25)