题解 | #日期类#
日期类
https://www.nowcoder.com/practice/130aa2d7d1f5436b920229dca253893b
#include <iostream>
using namespace std;
int daytab[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 isLeapYear(int x){
return (x % 4 ==0 && x % 100 != 0) || (x % 400 == 0);
}
int main(){
int n,y,m,d;
cin >> n;
while(n --){
cin >> y >> m >> d;
if(d < daytab[isLeapYear(y)][m]){
d ++;
}else{
if(m == 12){
y ++;
}else{
m ++;
d = 1;
}
}
printf("%04d-%02d-%02d\n",y,m,d);
}
return 0;
}
查看13道真题和解析