已知今天的日期,请输出后天的日期。即,对于给定的日期,请计算出该日期加上2天的结果日期。
例如:今天的日期为2023-01-21,则后天的日期为2023-01-23。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入1个日期,日期形式为“yyyy-mm-dd”(年份4位,月份2位,日份2位,位数不足时前补0)。保证输入的日期合法,而且输入的日期和计算结果都在[1200-01-01,9999-12-31]范围内。
输出格式:
对于每组测试,在一行上以“yyyy-mm-dd”的形式输出结果日期。
输入样例:
2
2023-01-21
2023-02-27
输出样例:
2023-01-23
2023-03-01
#include <stdio.h>
int main()
{
int n;
int a[13]={31,28,31,30,31,30,31,31,30,31,30,31};//平年
int b[13]={31,29,31,30,31,30,31,31,30,31,30,31};//闰年
int yy,mm,dd;
char ch,in;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%c%d%c%d",&yy,&ch,&mm,&in,&dd); //年 月 日
if((yy%4==0&&yy%100!=0)||yy%400==0) // 判断是否为闰年
{
dd+=2;
if(b[mm-1]<dd)
{
dd=dd%b[mm-1];
mm+=1;
}
if(mm>12)
{
mm=mm%12;
yy=yy+1;
}
printf("%02d-%02d-%02d\n",yy,mm,dd);
}
else
{
dd+=2;
if(a[mm-1]<dd)
{
dd=dd%a[mm-1];
mm+=1;
}
if(mm>12)
{
mm=mm%12;
yy=yy+1;
}
printf("%02d-%02d-%02d\n",yy,mm,dd);
}
}
return 0;
}