题解 | #开门人和关门人#C语言非排序
开门人和关门人
https://www.nowcoder.com/practice/a4b37b53a44d454ab0834e1517983215
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct person { char id[20]; char arrive[20]; char leave[20]; }Person; Person person[10000]; int main() { int n; while (scanf("%d", &n) != EOF) { // 注意 while 处理多个 case int leave_index=-1; int arrive_index=-1; char leave_id[20]; char arrive_id[20]; for(int i=0;i<n;i++) { scanf("%s %s %s",person[i].id,person[i].arrive,person[i].leave); if(arrive_index==-1||strcmp(arrive_id,person[i].arrive)>0) { arrive_index=i; strcpy(arrive_id,person[i].arrive); } if(leave_index==-1||strcmp(leave_id,person[i].leave)<0) { leave_index=i; strcpy(leave_id,person[i].leave); } } printf("%s %s\n",person[arrive_index].id,person[leave_index].id); } return 0; }