题解 | 日期累加

日期累加

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

#include <stdio.h>
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;
    }
    if(month>12){
        month=1;
        ++year;
    }
}
int main(){
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;++i){
    int year,month,day;
    scanf("%d%d%d",&year,&month,&day);
    int num;
    scanf("%d",&num);
    for(int j=0;j<num;++j){
        Nextday(year,month,day);
    }
    printf("%04d-%02d-%02d\n",year,month,day);
    }
    return 0;
}

#shit#
全部评论

相关推荐

04-10 11:56
如皋中学 Java
高斯林的信徒:双c9能简历挂的?
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务