题解 | 日期累加
日期累加
https://www.nowcoder.com/practice/eebb2983b7bf40408a1360efb33f9e5d
#include<stdio.h>
void NextDay(int &year,int &month,int &day){
int dayOfMonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(year%400==0||year%4==0&&year%100!=0){
dayOfMonth[2]=29;
}
++day;
if(day>dayOfMonth[month]){
day=1;
++month;
}
if(month>12){
month=1;
++year;
}
//printf("year=%d,month=%d,day=%d\n",year,month,day);
}
//int main() {
// int year,month,day;
// while(scanf("%d%d%d",&year,&month,&day)!=EOF) {
// NextDay(year,month,day);
// printf("main year=%d,main month=%d,main day=%d\n",year,month,day);
// }
// return 0;
//}
//
//int main(){
// int year,month,day;
// while(scanf("%d%d%d",&year,&month,&day)!=EOF){
// int next=1;
// int curday=1;
// int curmonth=1;
// while(1){
// if(curday==day&&curmonth==month){
// break;
// }
// NextDay(year,curmonth,curday);
// ++next;
// }
// printf("%d\n",next);
// }
// return 0;
//}
//int main(){
// int year,n;
// while(scanf("%d%d",&year,&n)!=EOF){
// int curmonth=1;
// int curday=1;
// for(int i=2;i<=n;++i){
// NextDay(year,curmonth,curday);
//
// }
// printf("%d-%02d-%02d\n",year,curmonth,curday);
// }
// return 0;
//}
int main(){
int m;
scanf("%d",&m);
for(int i=1;i<=m;++i){
int curyear,curmonth,curday,n;
scanf("%d%d%d%d",&curyear,&curmonth,&curday,&n);
for(int i=1;i<=n;++i){
NextDay(curyear,curmonth,curday);
}
printf("%d-%02d-%02d\n",curyear,curmonth,curday);
}
}
