PAT(Basic Level)_1028_人口普查

来源:互联网 发布:sleepytime mac 编辑:程序博客网 时间:2024/05/16 08:39
#include<stdio.h>#include<string.h>struct Tip{    char name[10];    int year;    int month;    int day;};int cmp(const Tip &A,const Tip &B){    if(A.year!=B.year) return A.year-B.year;    if(A.month!=B.month) return A.month-B.month;    return A.day-B.day;}int main(){    int N;    scanf("%d",&N);    Tip max={"",2014,9,6};    Tip min={"",1814,9,6};    Tip tmp;    Tip oldest={"",2014,9,6};    Tip youngest={"",1814,9,6};    int cnt=0;    while(N--){        scanf("%s %d/%d/%d",tmp.name,&tmp.year,&tmp.month,&tmp.day);        if(cmp(tmp,max)>0) continue;        if(cmp(tmp,min)<0) continue;        cnt++;        if(cmp(tmp,youngest)>0){            strcpy(youngest.name,tmp.name);            youngest.year=tmp.year;            youngest.month=tmp.month;            youngest.day=tmp.day;        }        if(cmp(tmp,oldest)<0){            strcpy(oldest.name,tmp.name);            oldest.year=tmp.year;            oldest.month=tmp.month;            oldest.day=tmp.day;        }    }    if(cnt==0) putchar('0');//测试点3     else printf("%d %s %s",cnt,oldest.name,youngest.name);    return 0;}