给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
源代码:
C语言代码如下:
#include<stdio.h>
int ryear(int year,int month){
if(month<=2)
return 0;
else
return ((year%4==0)&&(year%100!=0)||(year%400==0))?1:0;
}
int main(){
int year,month,day,days;
int months[]={
0
, 31
, 31+28
, 31+28+31
, 31+28+31+30
, 31+28+31+30+31
, 31+28+31+30+31+30
, 31+28+31+30+31+30+31
, 31+28+31+30+31+30+31+31
, 31+28+31+30+31+30+31+31+30
, 31+28+31+30+31+30+31+31+30+31
, 31+28+31+30+31+30+31+31+30+31+30
};
while(scanf("%d/%d/%d",&year,&month,&day)!=EOF){
days=ryear(year,month)+months[month-1]+day;
printf("%d\n",days);
}
return 0;
}