日期算星期(使用基姆拉尔森计算公式)

复制代码
 1 #include <stdio.h>
 2 
 3     
 4 unsigned char CaculateWeekDay(unsigned int y,unsigned char m, unsigned char d)
 5 {
 6     if(m==1||m==2) {
 7         m+=12;
 8         y--;
 9     }
10     return (unsigned char)((d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7);    
11 }    
12     
13 int main () {
14     unsigned char day,month;
15     unsigned int year;
16     day=17;
17     month=2;
18     year=2022;
19     //char w=(days + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7;
20     char iWeek=CaculateWeekDay(year,month,day);
21     switch(iWeek)
22     {
23     case 0: printf("星期一\n"); break;
24     case 1: printf("星期二\n"); break;
25     case 2: printf("星期三\n"); break;
26     case 3: printf("星期四\n"); break;
27     case 4: printf("星期五\n"); break;
28     case 5: printf("星期六\n"); break;
29     case 6: printf("星期日\n"); break;
30     }
31     return 0;
32 }
复制代码

 

posted @   正在沉默  阅读(120)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示