题解 | 计算日期到天数转换
计算日期到天数转换
https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded
#include <iostream> #include <iterator> using namespace std; class Data { public: Data(int year, int month, int day) { _year = year; _month = month; _day = day; } bool is_leap(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } int GetMonthDay(int year, int month) { static int Month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; if(is_leap(year) && month == 2) return 29; else return Month[month]; } int GetDay(const Data& d) { int i = 1, result = d._day; while(i < d._month) { result += GetMonthDay(d._year, i); i++; } return result; } ~Data() { _year = 0; _month = 0; _day = 0; } private: int _year; int _month; int _day; }; int main() { int year, month, day; cin >> year >> month >> day; Data d(year, month, day); cout << d.GetDay(d) << endl; return 0; }