Description
已知当前日期,请计算这是这一年的第几天。例如2012年12月31日是2012年的第366天(2012是闰年)。 提示:四年一闰,百年不闰,四百年再闰,即能整除4且不能整除100的年为闰年(2004年就是闰年,1900年不是闰年);世纪年能整除400的是闰年(2000年是闰年,1900年不是闰年)。
Input
分别输入年Y,月M,日D,以整数形式输入,其中1900<=Y<=3000,1<=M<=12,1<=D<=31,三个整数之间用空格隔开。
Output
输出一个整数N,表示当前是一年中的第几天,末尾有一个换行符
Sample Input
2012 12 1
Sample Output
336
#include<iostream>
using namespace std;
int main()
{
int y, m, d, md[12] = { 0,31,59,90,120,151,181,212,243,273,304,334 };
while (cin >> y >> m >> d)
{
int yy = 0, i;
if ((y % 400 == 0) || (y % 4 == 0 && y % 100 != 0))
yy = 1;
if (m >= 3)
cout << md[m - 1] + yy + d << endl;
else
cout << md[m - 1] + d << endl;
}
return 0;
}