题解 | #打印日期#超级简单
打印日期
https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b
#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 y,d;
while(cin >> y >> d){
int m = 0,flag = 0;
if(isLeapYear(y)){
for(int i = 0;i < 12; i ++){
flag = d - daytab[1][i + 1];
m ++;
if(flag <= 0)break;
else d = d - daytab[1][i + 1] ;
}
}else{
for(int i = 0;i < 12; i ++){
flag = d - daytab[0][i + 1];
m ++;
if(flag <= 0)break;
else d = d - daytab[0][i + 1] ;
}
}
printf("%04d-%02d-%02d\n",y,m,d);
}
return 0;
}

