题解 | #日期累加#

日期累加

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

//设计一个程序能计算一个日期加上若干天后是什么日期。
#include<stdio.h>

int runnian(year) {
    if (year % 4 == 0  || year % 100 != 0 && year % 400 == 0)
        return 1;
    else
        return 0;
}
int main() {
    int m;
    int year, month, day, count;
    int a[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //每个月的天数
    scanf("%d", &m);
    for (int i = 1; i <= m; i++) {
        scanf("%d %d %d %d", &year, &month, &day, &count); // 2008 2 3
        while (count > 0) {
            if (runnian(year)) //闰年 2月29天
                a[2] = 29;
            else
                a[2] = 28;
            count--;    //天数减一
            day++;

            if (day > a[month]) { //日期数大于本月日期数,下一个月
                day = 1;
                month++;
            }
            if (month > 12) { //下一年
                year++;
                month = 1;
                day = 1;
            }


        }
        printf("%04d-%02d-%02d\n", year, month, day);



    }

    return 0;
}

全部评论

相关推荐

06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
昨天 14:58
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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