[GESP202503二级]时间跨越题解
2026-02-07 17:25:02
发布于:黑龙江
1阅读
0回复
0点赞
题解来喽
上代码!:
#include <bits/stdc++.h>
using namespace std;
bool check(int n) {
if (n % 100 != 0 and n % 4 == 0){
return true;
}
else if (n % 400 == 0){
return true;
}
else{
return false;
}
}
int days[] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int main() {
int year, month, day,hour,k;
cin >> year >> month >> day >> hour >> k;
hour += k;
if (hour > 23) {
day++;
hour -= 24;
}
if (month == 2 and check(year)) {
days[2]++;
}
if (day > days[month]) {
day = 1;
month++;
}
if (month > 12) {
month = 1;
year++;
}
printf("%d %d %d %d",year,month,day,hour);
return 0;
}
悄悄告诉你,绝对100%对,如果有用记得留个赞或关注哦!
这里空空如也


有帮助,赞一个