C语言根据年

您所在的位置:网站首页 小暑大暑是几月几日星期几 C语言根据年

C语言根据年

2024-05-30 22:05| 来源: 网络整理| 查看: 265

利用基姆拉尔森计算公式

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来代入公式计算。以公元元年为参考,公元元年1月1日为星期一。

效果如图: 

代码如下: #include 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; }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3