题解 | #打印日期#
打印日期
https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b
#define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; int arr1[13] = { 0,31,29,31,30,31,30,31,31,30,31,30,31 }; int arr2[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 }; bool Leap_year(int year) { if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { return true; } return false; } int main() { int year, day; while (scanf("%d %d", &year, &day) != EOF) { //如果是闰年 int month = 1; if (Leap_year(year)) { for (int i = 1; i <= 12; i++) { if (day > arr1[i]) { day -= arr1[i]; month++; } else { break; } } printf("%4d-%02d-%02d\n", year, month, day); } else { for (int i = 1; i <= 12; i++) { if (day > arr2[i]) { day -= arr2[i]; month++; } else { break; } } printf("%4d-%02d-%02d\n", year, month, day); } } return 0; }这道题特别简单,代码放这了