注意:
1)%02d表示如果整数不够2列,就用0补够。
2)有关日期类的题目,每个月的天数不同,所以我们使用一个数组用来记录每个月的天数,这样后续使用也比较方便。
代码如下:
#include<iostream>
#include<cstdio>
using namespace std;
int D[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
class Date{
public:
int year,month,day;
Date(){ }//构造函数
Date(int y,int m,int d){
year=y;month=m;day=d;
}
void print_next_d()
{
int d=day+1;
if(d>D[month])
{
d=1;
month++;
}
if(month>12){
month=1;
year++;
}
printf("%d-%02d-%02d\n",year,month,d);
}
};
int main()
{
int m;
cin>>m;
int year,month,day;
while(m--)
{
cin>>year>>month>>day;
Date o(year,month,day);
o.print_next_d();
}
return 0;
}