问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言:求星期几(求讲解)

发布网友 发布时间:2022-05-22 02:45

我来回答

4个回答

热心网友 时间:2024-03-05 23:05

如何求某一天是星期几? 请注意这样一个事实,即从公元元年一月一日开始到现在,每一天都是连续的,而每个星期有7天,也是连续的,也就是说日期和星期是一对一的,没有断档现象。我的基本思想是计算出当前天是从公元元年一月一日开始的第几天,再利用星期的周期性来计算公元任何一天是星期几。 假设当前年份为y,并忽略闰年,则从公元元年一月一日到y-1年共有365*(y-1)天,加上闰年多出来的天数,即加上1*((y-1)/4-(y-1)/100+(y-1)/400),"/"为整除,得:365*(y-1)+((y-1)/4-(y-1)/100+(y-1)/400)。我们再补上从当前1月1日开始到当前天的天数e,即为所求。即:365*(y-1)+((y-1)/4-(y-1)/100+(y-1)/400)+e。它的值即为当前天是从公元元年一月一日开始算起的第几天。补上一个x(x是与公元元年一月一日是星期几有关的一个0~6的整数),并将这个表达式赋给变量t,即:t=x+365*(y-1)+((y-1)/4-(y-1)/100+(y-1)/400)+e再用t除以7,余几即为星期几(余0为星期日)。 下面讨论x的求法,如果知道公元元年一月一日是星期几,就可以直接得到x的值,但现在公式还没有求出来,不知道公元元年一月一日是星期几。不过没关系,毕竟知道最近的日期是星期几。不妨看一下2001年1月1日是星期几,结果是星期一,代入公式得t=x+730516,用730516除以7,得104355,余数是1,则为了保证2001年1月1日是星期一,取x 为0,所以公元元年一月一日也是星期一。至此,得到了完整的公式: t=365*(y-1)+((y-1)/4-(y-1)/100+(y-1)/400)+e 再将它做一下改进,我们将公式变形为: t=(52*7+1)*(y-1)+((y-1)/4-(y-1)/100+(y-1)/400)+e 利用星期的周期性,将52*7+1从公式中删除,得: t=(y-1)+((y-1)/4-(y-1)/100+(y-1)/400)+e 在我百度到的那个帖子找到了答案~~ http://zhidao.baidu.com/question/3696267.html

热心网友 时间:2024-03-05 23:05

11行的输出语句是吗~~首先你需要了解润年的算法~~~能被4整除的年份是闰年~其中能被100整除的又不是闰年~~再其中能被400整除的又是闰年~~而11行的算术式是利用星期数在数*算上的规律得到的巧妙算术式~~~对于编程技巧来说没什么太多的可学之处~~以公园0年为基准365/7=52 余一天y年就多出y天其中有y/4-y/100+y/400年是闰年 这些年余两天而我们在Y年中已经算成只余一天~~所以y+y/4-y/100+y/400就是当年多出来的天数再看月份的计算31=4 余3天如果mhttp://www.chinaunix.net/jh/4/646597.html</A> 公元元年的第一天,也就是公元1年1月1日。具体:公元1年1月1日是星期六。 我晕~原来第一天不是星期1~~是星期6~~难怪算出来多了6天~~于是乎2月的情况是对的~~由于本人临时有点事~~而且也不想再算这么无聊的东西了~~都是学编程的~研究这些个东西干什么~~不属于编程技巧~~~大可以用其他的方法来实现~比如随便从日历上找一个基准点做星期号~~然后计算输入的年份和基准年份相差的日期~~而且可以给每个月的天数建立一个数组~~拿月份当下标~~这样很快能查找到当月的天数~~如果是闰年再把总天数+1方便多了~~弄个一整条乱七八糟的计算式~~不研究了~~洗衣服去~~

热心网友 时间:2024-03-05 23:06

基姆拉尔森计算公式

这个公式名称是我给命名的,哈哈希望大家不要见怪。

W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7

在公式中d表示日期中的日数,m表示月份数,y表示年数。

注意:在公式中有个与其他公式不同的地方:

把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。

热心网友 时间:2024-03-05 23:06

int main(void)
{
int year, month, day, week;
printf("Year: ");
scanf("%d", &year);
printf("Month: ");
scanf("%d", &month);
printf("Day: ");
scanf("%d", &day);

if(3 > month)
{
month += 12;
year--;
}

week = (day + 2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7;
printf("星期 %d", week);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何将一个文件排在文件夹的第一个? 试管婴儿胚胎分级 试管婴儿胚胎分级8优代表什么 成人高考是成绩出来之后再填志愿吗 成考有必要报第二志愿吗 成人高考被第一志愿录取就不能选择第二志愿吗,分数什么学校都能进,老... 成教可以填报二批志愿吗? 高压电线是什么钢丝 地下水资源会枯竭吗 济南受污染的原因 C语言 输入某人的出生日期,计算并显示其出生的当天是星期几。(注:要计算出生日是星期几,首先要计算 C语言编程序实现如下功能:输入任意一个日期的年、月、日的值,求出是星期几并输出。 C语言程序,输入年月日算出当天星期几? word页眉的编辑 word 2007中如何锁定页眉,即不允许编辑页眉? word里面可以页眉不被改动吗? 我编辑word旧有的文档时,无法彻底禁用页眉。 古风人物的眼睛要怎么画 十八岁,对于高考我很期待 两百字作文 GTX750上市了吗?性价比高吗? 桌面级GTX750和HD8750一类的,什么时候会出呢? GTX750上市时间 影驰gtx750ti gamer什么时候上市 请问这两个显卡那个早发行,就是早出来。来判断大概使用时间 gtx750什么时候出 GTX750什么时候上市?好不好? 起点中文网上有多少本书 在起点中文网上,短篇小说一般在多少字左右可以完结? 起点中文网有多少作者? 乞活西晋末by万载老三免费小说txt版本在线看 属相相冲怎么化解/生肖相冲破解方法 属相相克怎么化解?? 属相相冲如何化解 2010小康生活的标准 公务员依法行政能力和一般能力的区别体现在 stm32f407能带多少个步进电机 一个单片机可以驱动几个步进电机? 哪个牌子的口红颜色好不油腻呢,价格100以内 什么牌子口红好用不贵 什么品牌的口红比较好呀?香奈儿的怎么样哦?大概多少钱? 不同牌子口红的价格差很多。都差在哪些地方了呢? 气象科普:“降水概率预报”到底是啥意思 气象知识讲座的小练笔 G6877高铁在汉口火车站哪个窗口? 怎么样挑西瓜呀?瓜瓤黄的好还是红的好呀?拜托了各位 谢谢 还有西瓜瓤是黄色的呀?怎么吃起来口感跟普通西瓜不一样呢? vf里,如何对打开的表直接索引? 创建表时 直接创建索引 计算机组成原理题目,求解试题28的计算过程 如何将一到两个的原始数据表中符合条件的单元格的数据直接索引或关系到我的分析表中?