1. 程式人生 > >第幾天hdu2005

第幾天hdu2005

給定一個日期,輸出這個日期是該年的第幾天。

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 main()
{
	int a, b, c;
        char e='/';
	while (cin >> a >>e>>  b >>e>>  c)
	{

		int d;
		switch (b)
		{
		case 1:d = c; break;
		case 2:d = 31 + c; break;
		case 3:d = 28 + 31 + c; break;
		case 4:d = 28 + 31 + 31 + c; break;
		case 5:d = 31 + 28 + 31 + 30 + c; break;
		case 6:d = 28 + 31 + 30 + 31 + 31 + c; break;
		case 7:d = 31 + 28 + 31 + 30 + 31 + 30 + c; break;
		case 8:d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + c; break;
		case 9:d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + c; break;
		case 10:d = 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + c; break;
		case 11:d = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + c; break;
		default:d = 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 31 + 30 + c;
		}
		if ((a % 4 == 0) && (a % 100 != 0)&&(b>2))
		{
			d = d + 1;
			cout << d << endl;
		}
		else if ((a % 400 == 0)&&(b>2))
		{
			d = d + 1;
			cout << d << endl;
		}
		else
			cout << d << endl;
	}
	return 0;
}

題解:希望大家記得斜槓/