1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C语言根据年-月-日-判断星期几

C语言根据年-月-日-判断星期几

时间:2019-07-09 22:35:32

相关推荐

C语言根据年-月-日-判断星期几

利用基姆拉尔森计算公式

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

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

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

把一月和二月看成是上一年的十三月和十四月,例:如果是-1-10则换算成:-13-10来代入公式计算。以公元元年为参考,公元元年1月1日为星期一。

效果如图:

代码如下:

#include <stdio.h>const char *WeekYearday(int years, int months, int days) {int WeekDay=-1; if(1==months || 2==months) { months+=12; years--;} WeekDay=(days+1+2*months+3*(months+1)/5+years+years/4-years/100+years/400)%7;switch(WeekDay){ case 0 : return "星期天[Sunday]"; break;case 1 : return "星期一[Monday]"; break;case 2 : return "星期二[Tuesday]"; break;case 3 : return "星期三[Wednesday]"; break;case 4 : return "星期四[Thursday]"; break;case 5 : return "星期五[Friday]"; break; case 6 : return "星期六[Saturday]"; break;default : return NULL; break;} return NULL;}int main(){int year,month,day;char ch='1';while(ch!='\033'){ printf("\n请输入日期:\n格式为:1900,1,1\n");scanf("%d,%d,%d",&year,&month,&day);const char *p=WeekYearday(year,month,day);printf("今天是:%s\n",p);ch=getchar();printf("\n");}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。