#include <iostream> using namespace std; // 引用传递,改变值 void nextDay(int& year, int& month, int& day) { // 不定长度数组,需要初始化 存储天数与月份的关系 int dayOfMonth[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; // 1.c语言没有bool类型,可以用int 2.与 优先级比 或 高,可以加括号,也可以不加 bool isLeap = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0); if (isLeap) { dayOfMonth[2] = 29; // 闰年 2月份 多一天 29 } else { dayOfMonth[2] = 28; } day++; if (day > dayOfMonth[month]) { // 天数超限,回归下个月 day = 1; month++; } if (month > 12) { // 月份超限,回归下一年 month = 1; year++; } } int main() { int count, year, month, day, startMonth, startDay; // count 统计本年天数 while (cin >> year >> month >> day) { count = 1; startMonth = 1; startDay = 1; while (startMonth != month || startDay != day) { nextDay(year, startMonth, startDay); count++; } cout << count << endl; } return 0; }