C++ 计算日期到天数转换(牛客网)
点击链接即可查看题目:计算日期到天数转换_牛客题霸_牛客网
一、 题目
描述
根据输入的日期,计算是这一年的第几天。
保证年份为4位数且日期合法。
进阶:时间复杂度:O(n) O(n) ,空间复杂度:O(1) O(1)
输入描述:
输入一行,每行空格分割,分别是年,月,日
输出描述:
输出是这一年的第几天
示例1
输入:
2012 12 31输出:
366
二、代码
#include <iostream>
using namespace std;
int GetMonthDay(int year, int month)
{int day[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };if (month != 2)return day[month];else if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0){return 29;}return 28;
}int main()
{int year,month,day;while (cin >> year >> month >> day) { // 注意 while 处理多个 caseint sum = day;while(--month > 0){sum += GetMonthDay(year,month);}cout << sum << endl;}
}
// 64 位输出请用 printf("%lld")