在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期,计算某年某月某日是该年中的第几天。

#include <iostream>
using namespace std;


int main(int argc, char *argv[])
{
	
	char a[11];
	cin.getline(a, 11);
	int sum = 10 * (a[8] - '0') + a[9] - '0';
	int b[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	int y = 1000 * (a[0] - '0') + 100 * (a[1] - '0') + 10 * (a[2] - '0') + a[3] - '0';
	if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) 
		b[2] = 29;
	int m = 10 * (a[5] - '0') + a[6] - '0';
	for (int i = 1; i < m; i++)
		sum += b[i];

	cout << sum;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/xbpalyer/article/details/88751617