题解 | 打印日期

打印日期

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#
全部评论

相关推荐

04-16 12:49
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务