题解 | #打印日期#打印日期简单思路解法
打印日期
https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b
#include <iostream> using namespace std; //判断闰年的函数 bool IsLeapYear(int year) { return ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0); } int main() { int year, day; while (cin >> year >> day) { // 注意 while 处理多个 case //month初始定义为1,并给出每个月日期的数组 int month = 1; int monthday[13] = {-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //若是闰年monthday[2]++ if(IsLeapYear(year)) { monthday[2]++; } //使用输入的天数加去每月的天数,然后month++ //循环结束后剩下的day就是加完后的日期,month就是加完后的月 while(day > monthday[month]) { day -= monthday[month]; month++; } printf("%04d-%02d-%02d\n",year, month, day); } } // 64 位输出请用 printf("%lld")#日期转换问题##日期累加#