题解 | #打印日期#
打印日期
https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b
#include <iostream> using namespace std; //获取月份天数 int getMonthDay(int year,int month){ int month_day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; if(month == 2 && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)) return 29; return month_day[month]; } int main() { int year, days; while (cin >> year >> days) { // 注意 while 处理多个 case int month = 1; while(days > getMonthDay(year, month)){ days -= getMonthDay(year, month); ++month; } printf("%04d-%02d-%02d\n",year,month,days); } return 0; } // 64 位输出请用 printf("%lld")