华为机试-计算日期到天数转换(HJ73)-纯C

计算日期到天数转换

http://www.nowcoder.com/questionTerminal/769d45d455fe40b385ba32f97e7bcded

纯C

#include <stdlib.h>
#include <stdio.h>

int main()
{
    int month_days[12]  = {31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365};
    int year, month, day;
    while(scanf("%d %d %d\n", &year, &month, &day) != EOF)
    {
        int days = 0;
        if(month >= 2)
            days = month_days[month - 2] + day;
        else
            days = day;
        if((year%4 == 0 && year%100 != 0) || year %400 == 0)
            days ++;
        printf("%d\n", days);
    }
    return 0;
}
全部评论
此文件有少许错误,在输入为1月份且闰年情况下会多计算一天哦,感谢答主的代码
7 回复 分享
发布于 2020-09-02 17:28
最后一个if应该这样写if ((year % 4 == 0 && year % 100 != 0) ||year % 400 == 0&&month>=3)
5 回复 分享
发布于 2022-01-12 20:58
雀氏有个bug
1 回复 分享
发布于 2022-02-11 19:45
嘿嘿,不客气,你写的很棒
点赞 回复 分享
发布于 2020-09-03 11:33

相关推荐

17 5 评论
分享
牛客网
牛客企业服务