比较简单,主要是需要稍微算一下,原本想用时间戳偷懒的后来发现不如直接算….
#include <bits/stdc++.h>
const int dayPerMonth[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int main() { while (true) { int year, month, day; std::cin >> year; if (year != -1) { std::cin >> month >> day; int leapYear = 0, sum = 0; for (int i = 2000; i < year; ++i) { if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) { leapYear++; } }
for (int i = 0; i < month; ++i) { sum += dayPerMonth[i]; } if (((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) && month >= 2) { sum++; } sum += day;
int totalsum = sum; totalsum += (year - 2000 - leapYear) * 365 + 366 * leapYear - 1; std::cout << totalsum << std::endl << sum << std::endl; } else { break; } } return 0; }
|