给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20 2006/3/12
Sample Output
20 71
#include<iostream>
using namespace std;
int isR(int year)
{
return (year%4==0&&(year%4!=0||year%400==0));
}
int main(void)
{
int year,month,day,i,sum;
char a,b;
int time[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}};
while(scanf("%d%c%d%c%d",&year,&a,&month,&b,&day)!=EOF)
{
int t=isR(year);
for(sum=0,i=1;i<month;i++)
sum+=time[t][i];
sum+=day;
printf("%d\n",sum);
}
return 0;
}