寻找同年出生的人员

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

人员的记录由编号和出生年、月、日组成,已在主函数中将N名人员的数据存入结构体数组std中。在fun函数中,找出指定出生年份的人员,将其数据存放在形参k所指向的数组中,返回满足指定条件的人数。在主函数中输入一个年份,如果没有找到此年份出生的人员,输出对应信息;如果找到此年份出生的人员,输出相关人员信息。

    #include    

    #define    N    8

    typedef  struct

    {   char  num[4];

        int  year,month,day ;

    } STU;

    int fun(STU  *std, STU  *k, int  year)

    {   int  i,n=0;

        for (i=0; i

            if(     (1)   ==year)

                {k[n]=    (2)   ;

                 n++;

}

        return (   (3)   );

    }

    int main(void)

    {   STU  std[N]={ {"001",1984,2,15},{"002",1983,9,21},{"003 ",1984,9,1},{"004",1983,7,15},

                      {"005",1985,9,28},{"006",1982,11,15},{"007",1982,6,22},{"008",1984,8,19}};

        STU  k[N];

        int  i,n,year;

       

  scanf("%d",&year);

        n=fun(std,k,year);

        if(n==0)

            printf("No person was born in %d \n",year);

        else

        {   

            for(i=0; i

              printf("%s,%d-%d-%d\n",k[i].num,k[i].year,k[i].month,k[i].day);

        }

        return 0;

    }

要求:

输入一个年份,如果找到此年份出生的人员,分行输出各人数据,编号与年月日之间以逗号间隔,年月日之间以“-”间隔;如果没有找到此年份出生的人员,输出对应信息。

Input

按照题目描述输入。

Output

按照题目描述输出。

Sample Input

1987

Sample Output

No person was born in 1987

Hint

Source