题解 | 日期累加

日期累加

https://www.nowcoder.com/practice/eebb2983b7bf40408a1360efb33f9e5d

#include<stdio.h>
void NextDay(int &year,int &month,int &day){
    int dayOfMonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    if(year%400==0||year%4==0&&year%100!=0){
        dayOfMonth[2]=29;
    }
    ++day;
    if(day>dayOfMonth[month]){
        day=1;
        ++month;
    }
    if(month>12){
        month=1;
        ++year;
    }
    //printf("year=%d,month=%d,day=%d\n",year,month,day);
}

//int main() {
//    int year,month,day;
//    while(scanf("%d%d%d",&year,&month,&day)!=EOF) {
//        NextDay(year,month,day);
//        printf("main year=%d,main month=%d,main day=%d\n",year,month,day);
//    }
//    return 0;
//}
//
//int main(){
//    int year,month,day;
//    while(scanf("%d%d%d",&year,&month,&day)!=EOF){
//        int next=1;
//        int curday=1;
//        int curmonth=1;
//        while(1){
//            if(curday==day&&curmonth==month){
//                break;
//            }
//            NextDay(year,curmonth,curday);
//            ++next;
//        }
//        printf("%d\n",next);
//    }
//    return 0;
//}
//int main(){
//    int year,n;
//    while(scanf("%d%d",&year,&n)!=EOF){
//        int curmonth=1;
//        int curday=1;
//        for(int i=2;i<=n;++i){
//            NextDay(year,curmonth,curday);
//
//        }
//        printf("%d-%02d-%02d\n",year,curmonth,curday);
//    }
//    return 0;
//}
int main(){
    int m;
    scanf("%d",&m);
    for(int i=1;i<=m;++i){
        int curyear,curmonth,curday,n;
        scanf("%d%d%d%d",&curyear,&curmonth,&curday,&n);
        for(int i=1;i<=n;++i){
            NextDay(curyear,curmonth,curday);
        }
        printf("%d-%02d-%02d\n",curyear,curmonth,curday);
    }
}

全部评论

相关推荐

xtu大迫杰:偶遇校友,祝校友offer打牌
点赞 评论 收藏
分享
zzzilik:没事的,才刚刚开始,后面会捞的,这个三天没人发起面试自动结束,但是面试官还是能看到简历,四月份主战场会慢慢捞
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务