题记(35)--日期累加
目录
一、题目内容
二、输入描述
三、输出描述
四、输入输出示例
五、完整C语言代码
一、题目内容
设计一个程序能计算一个日期加上若干天后是什么日期。
二、输入描述
输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。
三、输出描述
输出m行,每行按yyyy-mm-dd的个数输出。
四、输入输出示例
输入:
1 2008 2 3 100输出:
2008-05-13
五、完整C语言代码
AC代码~
#include<stdio.h>
#include<math.h>
int main() {
int count;
int y, m, d, total;
int month[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("%d", &count);
for (int i = 0; i < count; i++) {
scanf("%d%d%d%d", &y, &m, &d, &total);
if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0))
month[2] = 29;
for (int k = 1; k <= total; k++) {
d++;
if (d > month[m]) {
m++;
d = 1;
if (m > 12) {
m = 1;
y++;
if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0))
month[2] = 29;
else
month[2] = 28;
}
}
}
if (m / 10 == 0 && d / 10 == 0)
printf("%d-0%d-0%d\n", y, m, d);
else if (m / 10 == 0)
printf("%d-0%d-%d\n", y, m, d);
else if (d / 10 == 0)
printf("%d-%d-0%d\n", y, m, d);
else
printf("%d-%d-%d\n", y, m, d);
}
return 0;
}