HWOD:计算日期到天数转换

40 篇文章 0 订阅
16 篇文章 0 订阅
本文介绍了如何使用C语言编写一个程序来判断给定年份是否为闰年,并计算特定日期在该年中的位置。通过逻辑判断和条件语句,作者展示了计算一年中第几天的基本算法。
摘要由CSDN通过智能技术生成

一、知识点

这里所有涉及到的都是公历(阳历)

1、闰年的判断

能被100整除的年份,能被400整除时,闰

不能被100整除的年份,能被4整除时,闰

2、一年有多少天

一年有12个月,这12个月分3类

第一类:大月,每月31天,共7个;分别是1月,3月,5月,7月,8月,10月,12月

第二类:小月,每月30天,共4个;分别是4月,6月,9月,11月

第三类:2月,平年2月是28天,闰年2月是29天

所以,平年全年是365天,闰年全年是366天

二、题目

1、描述

根据输入的日期,计算是这一年的第几天。

保证年份为4位数且日期合法。

2、输入

输入一行,每行空格分割,分别是年,月,日

3、输出

输出是这一年的第几天

三、自己写的代码

#include<stdio.h>
int main() {
    int year, month, day, sum = 0;
    char IsLeapYear = 0;
    scanf("%d %d %d", &year, &month, &day);
    if (year % 100 == 0) {
        if (year % 400 == 0) {
            IsLeapYear = 1;
        }
    } else {
        if (year % 4 == 0) {
            IsLeapYear = 1;
        }
    }
    if (month == 2) {
        sum += 31;
    } else if (month == 3) {
        sum += 59;
    } else if (month == 4) {
        sum += 90;
    } else if (month == 5) {
        sum += 120;
    } else if (month == 6) {
        sum += 151;
    } else if (month == 7) {
        sum += 181;
    } else if (month == 8) {
        sum += 212;
    } else if (month == 9) {
        sum += 243;
    } else if (month == 10) {
        sum += 273;
    } else if (month == 11) {
        sum += 304;
    } else if (month == 12) {
        sum += 334;
    }
    if (IsLeapYear == 1 && month > 2) {
        sum += 1;
    }
    sum += day;
    printf("%d\n", sum);
    return 0;
}

四、测试

  • 13
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值