给定一个日期,输出这个日期是该年的第几天。
Input
输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input
1985/1/20
2006/3/12
Sample Output
20
71
问题链接:https://vjudge.net/contest/274223#problem/J
问题分析:分析什么时候闰年,然后正常年份用数组输入每个月的天数,然后用if语句判断。
AC通过的C语言程序如下:
#include<iostream>
using namespace std;
int main()
{
int year, month, day;
char x, y;
int m[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
while (cin >> year >> x >> month >> y >> day )
{
int days = 0;
for (int i = 0; i < month - 1; i++)
days += m[i];
if (month <= 2)
cout << days + day<<endl;
else
{
if ((year % 100 != 0) && (year % 4 == 0) || (year % 400 == 0))
cout << days + day + 1<<endl;
else cout << days + day<<endl;
}
}
}