(PAT甲级)1006 Sign In and Sign Out (C语言实现)

code:

(PAT甲级)1006 Sign In and Sign Out (C语言实现)

conclusion:

1、总体思路是:构建结构体数组,每一个id都和对应的signin、signout联系起来,然后对signin进行升序排列,输出第一个id;接着对signout进行降序排列,输出第一个id。便得到了开门和锁门的人对应的ID。

2、开始对signin和signout的处理是用字符串输入的,那这样我在写比较函数cmp时就要用字符串比较函数去比较字符串的大小,大返回1,相等返回0,小返回-1,已经不适合比较函数的性质了。所以改变了思路,利用scanf输入格式的特点%d:%d:%d输入时分秒,将signin和signout都处理为以秒为单位的整数,这样写cmp函数就简单多了。