题解 | 打印日期

#include <bits/stdc++.h>
#include <cstdio>
using namespace std;
int date[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 year){
    return (year%4==0&&year%100!=0)||year%400==0;
}

int main() {
    int year, day;
    while (cin >> year >> day) { 
        int month=0,k=0,i=0;
        if(isLeapYear(year))k=1;
        while(date[k][i]<day){
            day-=date[k][i];i++;month++;
        }
        printf("%04d-%02d-%02d\n",year,month,day);
    }
}

直接扫就行了,这个没跨年

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务