题目----计算某年某月的天数

这篇文章介绍了如何使用C语言编程实现计算给定年份和月份的天数,包括闰年和平年的区别以及对不同月份天数的处理。
摘要由CSDN通过智能技术生成

问题

获得某年某月有多少天,编程实现。

输入

年份和月份

目的

计算这一年这个月有多少天。

#include <stdio.h>
 
//分为闰年366天,平年365天去计算。
//二月:闰年(年份除以4得整数)29天,非闰年28天;
//第一季度(一月、二月、三月)闰年91天,非闰年90天 
//第二季度(四月、五月、六月)91天
//第三季度(七月、八月、九月)92天 
//第四季度(十月、十一月、十二月)92天
 
void day(int year, int mon)
//定义一个计算天数的函数
{
    int run[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
    //闰年月份天数
    int ping[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
    //平年月份天数
    //输出的天数
    int date = 0;
    //判断平闰:
    if (year % 4 == 0)
    //如果年份取余4等于0,即为闰
    {
        date = run[mon - 1];
        printf("%d\n", date);
    }
    else
    //如果不是闰年,执行下方语句
    {
        date = ping[mon - 1];
        printf("%d\n", date);
    }
}
 
int main()
{
    int a, b;
 
    while ((scanf("%d%d", &a, &b)) != EOF)
    //当正常输入年份和月份时,进入循环
    {
        day(a, b);
    //调用计算天数的函数,计算并输出月份的天数
    }
    return 0;
}

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以使用Python中的calendar模块来实现这个函数,具体代码如下: ```python import calendar def max_days(year, month): return calendar.monthrange(year, month)[1] ``` 其中,`calendar.monthrange(year, month)`函数返回一个元组,第一个元素为该月第一天是星期几(表示星期一,1表示星期二,以此类推),第二个元素为该月的最大日数。因此,我们只需要取出第二个元素即可。 ### 回答2: 题目要求编写一个函数,用于计算给定的年份和月份的这个月的天数。为了实现这个功能,我们需要考虑一些重要的因素,例如闰年和月份的天数。 一个闰年是指可被4整除的年份,但不能被100整除,或者可以被400整除。所以,我们首先需要判断给定的年份是否是闰年。如果是闰年,那么2月份的天数就是29天,否则就是28天。 接下来,我们需要判断给定的月份是属于31天、30天还是2月份。在这里,我们可以用一个简单的if-else结构来判断。如果该月份是1、3、5、7、8、10或12月,则为31天;如果是4、6、9或11月,则为30天;否则就是2月份。 最后,我们需要在函数中返回该月份的最大天数。以下是该函数的Python代码实现: ``` def get_max_days(year, month): # 判断是否为闰年 if ((year % 4 == 0 and year % 100 != 0) or year % 400 == 0): is_leap_year = True else: is_leap_year = False # 判断该月份的天数 if month in [1, 3, 5, 7, 8, 10, 12]: max_days = 31 elif month in [4, 6, 9, 11]: max_days = 30 elif is_leap_year: max_days = 29 else: max_days = 28 return max_days ``` 在函数中,我们首先声明了一个变量is_leap_year来存储给定年份是否是闰年,然后使用if-else结构来判断该月份的天数。最后,我们返回了该月份的最大天数。 该函数可以很方便地用于计算任意年份和月份的天数。例如,如果你要计算2022年11月的最大天数,可以调用该函数并传入参数(2022, 11)即可。 ### 回答3: 要编写一个能够计算某年某月最大天数的函数,其实原理并不难。我们知道每个月的最大天数是由月份以及年份决定的,因此我们可以通过判断月份来计算出该月的最大天数。 首先,我们需要检查输入的年份是否为闰年。闰年有一个特殊的规则,即能够被4整除但不能被100整除的年份是闰年,或者能够被400整除的年份也是闰年。如果输入的年份是闰年,则2月份的最大天数是29天,否则是28天。 接着,我们需要定义一个数组来记录每个月份的最大天数。由于不同月份的最大天数不同,因此需要分别定义12个元素分别表示1到12月的最大天数。这个数组可以在函数内部定义,也可以作为函数的参数传入。 然后,我们可以通过输入的月份来获取该月的最大天数。如果输入的月份为1、3、5、7、8、10、12月,最大天数为31天;如果是4、6、9、11月,则最大天数为30天;如果是2月,则最大天数通过前面的步骤计算得出。 下面是一个简单的函数代码示例,可以根据需要进行修改和完善: ``` def get_max_days(year, month): if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: max_days_list = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] else: max_days_list = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] max_days = max_days_list[month - 1] return max_days ``` 这个函数接受两个参数,分别是年份和月份,返回值为该月份的最大天数。在函数内部,我们首先根据年份判断是否为闰年,并定义一个包含12个元素的最大天数列表。然后根据输入的月份获取该月份的最大天数,并返回。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Skrrapper

谢谢你的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值