给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20 2006/3/12
Sample Output
20 71
#include<stdio.h>
int run(int year)
{
if((year%4==0 && year%100!=0)||year%400==0) //如果是闰年返回0
return 1;
else
return 0;
}
int main()
{
int a[2][13]={
{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}};
int year,day,month,k,c;
while(scanf("%d/%d/%d",&year,&month,&day)!=EOF)
{
k = run(year); //先判断是否是闰年
c = 0;
for(c = 1;c < month ;c ++)
{
day =day + a[k][c];
}
printf("%d\n",day);
}
return 0;
}