龙空技术网

C语言有关确定日期的相关问题

趣味编程小伙伴 243

前言:

现时同学们对“c语言闰年编程”大体比较重视,你们都想要知道一些“c语言闰年编程”的相关文章。那么小编在网上汇集了一些有关“c语言闰年编程””的相关内容,希望同学们能喜欢,兄弟们一起来学习一下吧!

经常在实际问题中会碰到类似日期确定的相关问题,在这里给大家做了一个简单的总结,希望能启发更多的想法:

闰年的确定:

对于确定日期过程中经常会遇到对闰年判断,此处犯难的原因大多并不是算法的问题,而是对闰年的计算方法不够透彻。所谓闰年,即每四年一闰,每一百年减一闰,每四百年加一闰。由此便可很简单的写出判断闰年的语句:

About this day:

Enter a certain day (a year,month and day ) , to determine the day of the year( from the first day )?

such as : input: 2017,1,5

 对于这个问题,无非是要求确定输入的日期是一年的第几天,由此我们做如下分析:1

首先,年份分闰年平年,因此此处便要用到上述对闰年的判断,判断年份之后需要对于平年和闰年分别进行分析;

其次,一年12个月分大小月,当输入月份之后,就是对月份的判定,对于3月以后的月份,2月的29号对天数将有影响,因此可以2月作为一条分界线。大月:1,3,5,7,8,10,12为31天,小月:4,6,9,11。由于以2月作为一次分界,因此可将1月单独考虑,即一月的日期就是该日期的天数。对于之后的日期,我们只需对此月前面的月份天数求和,然后加上该月的日期就是该日期的天数。

思路基本确定,然后就是用语句来实现:(简单以a,b,c代表年,月,日)

1.闰年: 1月日期正好就是其序数,2月则为1月的31天加上日期数,闰年2月为29天,以一个大月和一个小月为一个周期共61天,此时1,2月加起来为60天,因此最终的周期数要减一:

2.平年:与闰年类似

确定母亲节:

有这样一个问题:

母亲节是每年的五月第二个星期天,针对输入的年份,计算该年的哪一天是母亲节。

 对于这个问题,乍一看似乎对此没有丝毫头绪,但稍微分析一下就会找到一点思路:1

首先,母亲节是每年的五月第二个星期天,那么我们所要找的就是每年的五月第二个星期天是几号;从整体上来看,如果不存在闰年的影响,即一年是365天,利用周期性可以计算出365%7=1,意味着每年母亲节的日期往前延顺一天,即2014年母亲节如果是11号,那么可以确定2015年母亲节是10号,而对于五月的第二个星期天,显然只能出现在8号到14号这个区间内,因此现在只需要某年的母亲节就可以得到所有的母亲节的日期,即相差的年份对7取余,在补上闰年增加的天数,就是向前延顺的日期。

凑巧的是,2000年的母亲节正好是14号,因此就可以得到一个简单的算法(由于四百年加一闰,一百年减一闰,因此这个只是局限于2000年到2100年之间):

可以在此基础上改进使得能够计算任意的母亲节的日期。

本人从事在线教育c++十年工作经验现在精心整理了一套从小白到项目实践开发各种学习资料如果你想学想加入我们请关注我在私信回复“编程”就可以领取学习资料!!!

标签: #c语言闰年编程