c和c++的一些训练题(7)(编排日历)

这篇博客探讨了如何使用C/C++编程解决日期与星期对应的问题。作者介绍了日历的400年周期和闰年的计算规则,并提出了判断闰年的条件。通过公式计算出日期对应的星期,给出了一个简单的程序实现,但未完成完整的万年历程序。
摘要由CSDN通过智能技术生成

问题的提出:日历的编排是每400年一个大循环周期,即今年的月、日、星期几和400年前的完全一样。现行天文历法根据天体运行规律,取每年365.2425天。这样,每400年共有365.2425×400=146097天。如果以365天作为一年,每400年就少了0.2425×400=97天。这97天要靠设置闰年(每年366)天来凑齐,所以,每400年要设置97个闰年。

       编程思路:按照以上背景知识可得判断闰年的规律:某年年份如果能被4整除但不能被100整除,或者能被400整除则是闰年。由此规则可推得计算万年历的公式:

s=X-1+(X-1)/4-(X-1)/100+(x-1)/400+c  上式中:X为公元年数(如2003年);C 为从元旦起,到要算的那天总数(如2003年3月23日,C=31+28+23=82)。S/7余数是星期几。

这个题目我理解错了,我编了这么一个程序:输入年月日,输出这个日期是星期几,利用了上面的公式,可是没有完成上面万年历的编写,也贴出来吧。

代码:

// test5.cpp : 定义控制台应用程序的入口点。
//

#include "st
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值