日期累加
题目描述
设计一个程序能计算一个日期加上若干天后是什么日期。
输入
输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。
输出
输出m行,每行按yyyy-mm-dd的个数输出。
样例输入
1
2008 2 3 100
样例输出
2008-05-13
#include <cstdio>
int month[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};
bool leapyear(int year){
return (year%4==0&&year%100!=0)||(year%400==0);
}
int main(){
int a;
int y,m,d,n;
scanf("%d",&a);
for(int i=0;i<a;i++){
scanf("%d%d%d%d",&y,&m,&d,&n);
for(int j=0;j<n;j++){
d++;
if(d==month[leapyear(y)][m]+1){
m++;
d=1;
}
if(m==13){
y++;
m=1;
}
}
printf("%04d-%02d-%02d\n",y,m,d);
}
return 0;
}