题解 | #计算日期到天数转换#

计算日期到天数转换

https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded

解题思路

这题首先要判断年份是不是闰年,因为闰年的2月多出一天

根据上面规则可以列一个表达式如代码中第10行

我是设置了一个数组分别存对应月份包含的天数,闰年和不是闰年分开。

然后天数是目标月份-1前的所有天数相加再加这个月的天数

如1982 3 4

判断出不是闰年

天数等于1-2天数之和31+28

然后再加上4

得到63天

#include <stdio.h>

int main() {
    int y=0,m=0,d=0;
    int i=0;
    int day=0;
    int lib[12][2]={{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},
                {31,31},{30,30},{31,31},{30,30},{31,31}};
    scanf("%d %d %d",&y,&m,&d);
    if((y%100!=0 && y%4==0)||(y%100==0 && y%400==0))//判断是不是闰年
    {
        for(i=0;i<m-1;i++)
        {

            day+=lib[i][1];
        }
        day+=d;
    }
    else
    {
        for(i=0;i<m-1;i++)
        {
            day+=lib[i][0];
        }
        day+=d;
    }
    printf("%d",day);

    return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务