收藏 分享(赏)

计算某年的第一天是星期几.doc

上传人:11xg27ws 文档编号:12276900 上传时间:2021-12-09 格式:DOC 页数:2 大小:30KB
下载 相关 举报
计算某年的第一天是星期几.doc_第1页
第1页 / 共2页
计算某年的第一天是星期几.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、首先,利用你的公式编一简单程序:main() int year;/*年份*/int w; /*星期几*/scanf (“%d“,w=(year-1)+ (year-1)/4-(year-1)/100+(year-1)/400+1)%7;printf(“%dn“,w);getch();运行时,输入 1,得到结果 1。即,如果这个公式正确,公元 1 年的第一天是星期一。这是一个计算前提,必须先搞清楚。然后要知道闰年的规定:凡是年份能够被 4 整除、且不能被 100 整除的是闰年;凡是年份能被 400 整除的也是闰年;除此以外的年份都不是闰年。第三要知道闰年 366 天、平年 365 天。公元 1

2、年第一天(下文简称“起始天“)之后,要计算某天是星期几,只要用“ 这天与起始天之差” ,与 7 求余,当余数为 0,则这天与起始天星期几相同,也是星期一;否则,这个余数+1 就是这天的星期几。假设这个程序时输入年份 year,则该年的第一天距离起始天的差是:(year-1)*365+(公元 1 年到公元 year-1 年内的闰年个数(每个闰年多一天啊!) ) 。 。 (1)公元 1 年到公元 year-1 年内的闰年个数的计算:根据闰年规定,反过来考虑可以知道:大致每 4 年有 1 个闰年,这样算得到: 公元 1年到公元 year-1 年内的闰年个数=(year-1)/4 ,但每一百年要扣掉

3、1 个闰年,修正一下得到:公元 1 年到公元 year-1 年内的闰年个数 =(year-1)/4-(year/100)扣多了!每 400 年又要增加一个闰年,再次修正得到:公元 1 年到公元 year-1 年内的闰年个数 =(year-1)/4-(year/100)+(year/400)代入(1)得到年份 year 第一天距离起始天的差是:(year-1)*365+(year-1)/4-(year/100)+(year/400)这天是星期几?前面说过,是这个差与 7 求余+1 :(year-1)*365+(year-1)/4-(year/100)+(year/400)%7+1这个末尾的 1

4、可以放到被除数里面,即:(year-1)*365+(year-1)/4-(year/100)+(year/400)+1 %7=(year-1)*(364+1)+(year-1)/4-(year/100)+(year/400)+1 %7=(year-1)*364+(year-1)+(year-1)/4-(year/100)+(year/400)+1 %7364 是 7 的倍数,year*364 也一定是 7 的倍数,所以 year*364 可以去掉,这就得到了最后的计算式:=(year-1)+(year-1)/4-(year/100)+(year/400)+1 %7这个 内最后的 1,可以看成是新年的第 1 天。更一般地, year 年度的第 D 天是星期几?可以用下式计算:(year-1)+(year-1)/4-(year/100)+(year/400)+D %7

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报