题解 | 打印日期
打印日期
https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b
#include <stdio.h> using namespace std; void Nextday(int year,int &month,int &day){ int arr[]{0,31,28,31,30,31,30,31,31,30,31,30,31}; bool isLeap=false; if(year%400==0||year%4==0&&year%100!=0){isLeap=true;} if(isLeap){arr[2]=29;} ++day; if(day>arr[month]){ day=1; ++month; } } int main(){ int year,days; while(scanf("%d%d",&year,&days)!=EOF){ int count=1; int month=1; int day=1; if(days==1){ printf("%d-%02d-%02d\n",year,month,day); }else{ while(true){ if(count==days){printf("%d-%02d-%02d\n",year,month,day);break;} Nextday(year,month,day); ++count; } } } return 0; }#shit#