输入今天的日期年月日 输出明天的日期年月日 其中要判断闰年的年份来确定2月份最后一

//输入今天的日期年月日 输出明天的日期年月日 其中要判断闰年的年份来确定2月份最后一天
#include<stdio.h>
#include<stdbool.h>
    struct date {
        int month;
        int day;
        int year;
    };
    //运用两个函数isleap num
    bool isleap(struct date d);//判断闰年 是返回true
    int number(struct date d);
    int main(int argc,char const*argv[]) {
        struct date today, tomorrow;//定义两个变量
        printf("enter today's date is (mm dd yyyy):");
        scanf_s("%i %i %i", &today.month, &today.day, &today.year);//取点的地址来的高
    //如果这一天不是本月最后一天day+1
        if (today.day != number(today)) {
            tomorrow.day = today.day + 1;
            tomorrow.month = today.month;
            tomorrow.year = today.year;
        }
    //年份加1
        else if (today.month == 12) {
            tomorrow.day = 1;
            tomorrow.month = 1;
            tomorrow.year = today.year + 1;
        }
    //月份加1
        else {
            tomorrow.day = 1;
            tomorrow.month = today.month + 1;
            tomorrow.year = today.year;
        }
        printf("tomorrom's date is %i-%i-%i\n",tomorrow.year, tomorrow.month, tomorrow.day);

    return 0;
}
    int number(struct date d)
    {
        int days;
        const int monthd[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 30, 31 };//12个月
        if (d.month == 2 && isleap(d))//是闰年
            days = 29;
        else
            days = monthd[d.month - 1];//因为数组里第一位是0
        return days;
    }

    bool isleap(struct date d)
    {
        bool leap = false;
        //2008
        if ((d.year % 4 == 0 && d.year % 100 != 0) || d.year % 400 == 0)
            leap = true;
        return leap;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值