第几天?(2005)

来源:互联网 发布:打印机数据线速度 编辑:程序博客网 时间:2024/05/01 05:11

第几天?

TimeLimit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K(Java/Others)
Total Submission(s): 28634 Accepted Submission(s):11052


Problem Description
给定一个日期,输出这个日期是该年的第几天。

Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input,另外,可以向你确保所有的输入数据是合法的。

Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input
1985/1/202006/3/12

Sample Output
20 71
C代码
#include<stdio.h>
#include <stdlib.h>
int leapyear(int ly) //判断某年是否闰年闰年返回1,平年返回0   
{
  if ((ly@0==0) || ((ly0!=0)&& (ly%4==0)))
      return 1;
  else
  return 0;
}
main()
{
    intyear,month,date;
   while(~scanf("%d/%d/%d",&year,&month,&date)){
         int i,d,m=0;
         if(leapyear(year)==0){
             int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
             for(i=0;i<month-1;i++)
                 m+=a[i];
         }
         if(leapyear(year)==1){
             int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
             for(i=0;i<month-1;i++)
                 m+=b[i];
         }
         d=m+date;
         printf("%d\n",d);
    }
    return0;
}
0 0