题解 | 打印日期
打印日期
https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b
#include <stdio.h>
using namespace std;
void Nextday(int year,int &month,int &day){
int arr[]{0,31,28,31,30,31,30,31,31,30,31,30,31};
bool isLeap=false;
if(year%400==0||year%4==0&&year%100!=0){isLeap=true;}
if(isLeap){arr[2]=29;}
++day;
if(day>arr[month]){
day=1;
++month;
}
}
int main(){
int year,days;
while(scanf("%d%d",&year,&days)!=EOF){
int count=1;
int month=1;
int day=1;
if(days==1){
printf("%d-%02d-%02d\n",year,month,day);
}else{
while(true){
if(count==days){printf("%d-%02d-%02d\n",year,month,day);break;}
Nextday(year,month,day);
++count;
}
}
}
return 0;
}
#shit#
查看12道真题和解析