题解 | 日期类
#include<iostream> #include<stdio.h> using namespace std; bool leapyear(int n){ return n%4==0&&n%100!=0||n%400==0; } int main(){ int m; int Y,M,D; cin>>m; while(m){ cin>>Y>>M>>D; int month[]={31,leapyear(Y)?29:28,31,30,31,30,31,31,30,31,30,31}; if(D==month[M-1]){ if(M==12){ Y++; M=1; D=1; } else{ M++; D=1; } } else{ D++; } printf("%04d-%02d-%02d\n",Y,M,D); m--; } }