Problem Description
给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
Author
lcy
/*
题目不难,但是对于闰年2月的处理和对于7月/8月均为31天的处理要注意
中间一长串的if指令也许可以用一个for循环解决
*/
#include <stdio.h>
int main() {
int year,m,d;
while(scanf("%d",&year)!=EOF) {
getchar();
scanf("%d",&m);
getchar();
scanf("%d",&d);
int x=0;
if(m>=1)
x=d;
if(m>=2)
x=31+x;
if(m>=3) {
if((year%4==0)&&(year%100!=0)||(year%400==0))
x=x+29;
else
x=x+28;
}
if(m>=4)
x=31+x;
if(m>=5)
x=x+30;
if(m>=6)
x=31+x;
if(m>=7)
x=30+x;
if(m>=8)
x=31+x;
if(m>=9)
x=31+x;
if(m>=10)
x=30+x;
if(m>=11)
x=31+x;
if(m>=12)
x=30+x;
printf("%d\n",x);
}
return 0;
}