题解 | #计算日期到天数转换#
计算日期到天数转换
https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded
#include <iostream> #include <vector> using namespace std; // 判断是否为闰年 bool isLeapYear(int year) { if (year % 400 == 0) return true; if (year % 100 == 0) return false; if (year % 4 == 0) return true; return false; } int dayOfYear(int year, int month, int day) { // 每个月的天数,非闰年 vector<int> daysInMonth = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 如果是闰年,2月的天数改为29天 if (isLeapYear(year)) { daysInMonth[1] = 29; } // 计算当年1月1日到当前日期的天数 int dayOfYear = 0; for (int i = 0; i < month - 1; ++i) { dayOfYear += daysInMonth[i]; } dayOfYear += day; return dayOfYear; } int main() { int year, month, day; cin >> year >> month >> day; // 计算并输出结果 cout << dayOfYear(year, month, day) << endl; return 0; }