题解 | #打印日期#
打印日期
https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b
#include<bits/stdc++.h> using namespace std; void NextDay(int &year,int &month,int &day) { // & 出现在定义or形参当中 表示引用的意思 出现在其他位置,表示取地址 // 存储一下 月份和天数的对应关系 int dayOfMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int isLeap; // 是否是闰年 isLeap = year % 400 == 0 || year % 4 == 0 && year % 100 != 0; if (isLeap) { dayOfMonth[2] = 29; } else { dayOfMonth[2] = 28; } ++day; if (day > dayOfMonth[month]) { day = 1; ++month; } if (month > 12) { month = 1; ++year; } } int main() { int year; int next; while(scanf("%d%d",&year,&next)!=EOF) { int cur_month=1; int cur_day=1; for(int i=next; next>1; next--) { NextDay(year,cur_month,cur_day); } printf("%d-%02d-%02d\n",year,cur_month,cur_day); } return 0; }