#include <stdio.h> #include <string.h> struct Person { char sno[16],come[10],go[10]; }person[10]; int main(){ int M; scanf("%d",&M); scanf("%s%s%s",person[0].sno,person[0].come,person[0].go); char *zao=person[0].come,*wan=person[0].go; for(int i=1;i<M;i++){ scanf("%s%s%s",person[i].sno,person[i].come,person[i].go); if(strcmp(zao,person[i].come)>0)zao=person[i].come; if(strcmp(wan,person[i].go)<0)wan=person[i].go; } //分两次循环,先输出早来,再输出晚走。不能一起循环,因为最晚走的学生可能比最早来的学生排列靠前,就会先输出最晚走的学号 for(int i=0;i<M;i++) if(strcmp(zao,person[i].come)==0)printf("%s ",person[i].sno); for(int i=0;i<M;i++) if(strcmp(wan,person[i].go)==0)printf("%s",person[i].sno); return 0; }