题解 | 日期累加
日期累加
https://www.nowcoder.com/practice/eebb2983b7bf40408a1360efb33f9e5d
#include <stdio.h> 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; } if(month>12){ month=1; ++year; } } int main(){ int n; scanf("%d",&n); for(int i=0;i<n;++i){ int year,month,day; scanf("%d%d%d",&year,&month,&day); int num; scanf("%d",&num); for(int j=0;j<num;++j){ Nextday(year,month,day); } printf("%04d-%02d-%02d\n",year,month,day); } return 0; }#shit#