题解 | #开门人和关门人#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;
}
查看12道真题和解析