#include<bits/stdc++.h>
using namespace std;
int func(int m, int n){
int arr[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if((m % 4 == 0 && m % 100 != 0) || m % 400 == 0){
arr[1] = 29;
}
int month = 1;
int day = n;
for(int i = 0; i < 12; i++){
if(day > arr[i]){
month++;
day -= arr[i];
}
else{
break;
}
}
printf("%04d-%02d-%02d\n", m, month, day);
return 0;
}
int main(){
int m, n;
while(cin >> m >> n){
func(m, n);
}
return 0;
}
输出的时候月份和日期要固定输出两位数,感觉printf()更方便一些

京公网安备 11010502036488号