【正经题解】日期问题
2024-03-18 16:53:43
发布于:浙江
14阅读
0回复
0点赞
给定两个日期,需要计算它们之间一共有多少天。
使用两个日期的年、月、日分别表示起点和终点。
通过循环,每次增加一天,判断是否达到终点日期。
在循环中,考虑闰年的情况,需要判断是否是闰年,涉及到每个月的天数。
输出计算的天数。
#include <bits/stdc++.h>
using namespace std;
int main(){
int y[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int ans = 1;
int y1, m1, d1, y2, m2, d2;
cin >> y1 >> m1 >> d1 >> y2 >> m2 >> d2;
while (y1 != y2 || m1 != m2 || d1 != d2) {
// 判断是否是闰年
if (y1 % 4 == 0 && y1 % 100 != 0 || y1 % 400 == 0) {
y[2] = 29;
} else {
y[2] = 28;
}
// 增加一天
++d1;
++ans;
// 判断是否超过该月的天数
if (d1 > y[m1]) {
d1 = 1;
++m1;
}
// 判断是否超过12月
if (m1 > 12) {
m1 = 1;
++y1;
}
}
// 输出结果
cout << ans;
return 0;
}
这里空空如也
有帮助,赞一个