不考虑闰年的话,就考虑输入的是月末和年末两种边界情况了
#include <iostream> #include <cstdio> using namespace std; int monthtab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; class Date{ private: int year,month,day; public: void printf_Date(){ scanf("%d %d %d",&year,&month,&day); if((month==12)&&(day==31)){ year++;month=1;day=1; } if(day+1>monthtab[month]){ month++; day=1; }else{ day++; } printf("%4d-%02d-%02d\n",year,month,day); } }; int main(){ int times=0; scanf("%d",×); while(times--){ Date your_date; your_date.printf_Date(); } }