题目链接:http://codeup.cn/problem.php?cid=100000578&pid=4
题目描述
设计一个程序能计算一个日期加上若干天后是什么日期。
输入
输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。
输出
输出m行,每行按yyyy-mm-dd的个数输出。
样例输入
1
2008 2 3 100
样例输出
2008-05-13
代码
#include<stdio.h>
int month[13][2] = {{0, 0}, {31, 31}, {28, 29}, {31, 31}, {30, 30}, {31, 31}, {30, 30}, {31, 31}, {31, 31}, {30, 30}, {31, 31}, {30, 30}, {31, 31}}; //全局变量
bool isLeep(int year) {
return ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0));
}
int main () {
int y, n, m, d;
scanf("%d", &n);
for(int i = 0; i < n; i++) {
scanf("%d%d%d%d", &y, &m, &d, &t);
for(int i = 0; i < t; i++){
if(d == month[m][isLeep(y)] ){
m++;
d = 0;
}
if(m == 13){
y1++;
m1 = 1;
}
d++;
}
printf("%04d-%02d-%02d\n", y, m, d);
}
return 0;
}