题解 | #开门人和关门人#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;
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务