[C]利用蔡勒公式简单实现万年历
来源:互联网 发布:seo基础入门书籍 编辑:程序博客网 时间:2024/06/07 20:04
测试代码
#include<stdio.h>/** 蔡勒公式 0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六**/int getDayOfWeek(int year,int month,int day){ if(month==1||month==2)//判断month是否为1或2 { year--; month+=12; } int c=year/100; int y=year-c*100; int week=(c/4)-2*c+(y+y/4)+(13*(month+1)/5)+day-1; while(week<0){week+=7;} week%=7; return week;}int main(){ int Days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int year,month,day,days; while(scanf("%d%d",&year,&month)!=EOF) { days = Days[month]; int weeks[6][7] = {0}; int weekI = 0; for(int i=1;i<days+1;i++) { day = i; int week = getDayOfWeek(year,month,day); weeks[weekI][week] = i; if(week == 0) weekI++; } printf("星期一\t星期二\t星期三\t星期四\t星期五\t星期六\t星期日\n"); for(int l=0;l<6;l++){ for(int m=0;m<7;m++){ if(weeks[l][(m+1)%7] > 0) printf("%d\t",weeks[l][(m+1)%7]); else printf("\t"); } printf("\n"); } printf("\n"); } return 0;}
效果展示:
0 0
- [C]利用蔡勒公式简单实现万年历
- C语言实现简单的万年历
- 简单万年历的实现
- 实现简单的万年历
- C语言实现:万年历
- C语言实现万年历
- c语言实现万年历
- C实现万年历
- 【C++】万年历的实现
- 【C++】实现万年历
- C语言实现万年历
- 【C++】实现万年历
- c语言实现万年历
- C语言实现万年历
- C语言实现万年历
- C语言实现万年历
- C语言实现的一个简单的万年历
- 利用Verilog HDL实现万年历
- jsBoolean对象
- 指数和对数的转化利用
- 优先队列
- 在windows下安装MySQL5.7
- Remove Nth Node From End of List
- [C]利用蔡勒公式简单实现万年历
- Hadoop学习笔记—1.基本介绍与环境配置
- C++中的多态性
- angular进行md5加密
- Uinx/Linux上的帮助、查询命令(不再是简单的man和info)
- Gradle Tips
- 蓝桥杯——指针问题典例一(2017.2.28)
- Java基础学习总结(99)——Java代码性能优化总结
- 键盘映射