题解 | 计算日期到天数转换
计算日期到天数转换
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;
}
查看10道真题和解析
