给定日期输出星期几
来源:互联网 发布:ubuntu安装终端 编辑:程序博客网 时间:2024/05/16 01:52
根据蔡勒公式
/*1582/10/4之后时W=[C/4]-2C+y+[y/4]+[13*(M+1)/5]+d-11582/10/4之前时w=y+[y/4]+[c/4]-2c+[13(m+1)/5]+d+2w:星期; w对7取模得:0-星期日,1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六c:世纪减1(年份前两位数)y:年(后两位数)m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算, 比如2003年1月1日要看作2002年的13月1日来计算)d:日*/#include <stdio.h>char b[7][10] = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};bool m[] = {false,true,false,true,false,true,false,true,true,false,true,false,true};int main(){ int year,month,day; while(~scanf("%d%d%d",&year,&month,&day)) { if((year == 0 || month == 0 || day == 0) || (month == 2 && day>29) || (!m[month] && day == 31) || (!(year%4 == 0 && year%100 != 0 ||year%400 == 0)&&month == 2 && day == 29) ) { printf("illegal\n"); continue; } if (month<3) { year -= 1; month += 12; } int c = year/100,y = year%100; int w = c/4 - 2*c +y +(y/4) +(26*(month+1)/10) + day-1; printf("%s\n",b[(w%7+7)%7]); }return 0;}
- 给定日期输出星期几
- 给定日期,判断是星期几
- 对给定日期计算星期几
- 给定日期-判断是星期几
- 【公式计算,给定年月日输出星期几】
- 给出日期输出是星期几
- 求给定日期为星期几的例子
- ios 中根据给定日期 获取星期几
- 根据给定日期判断当天是星期几
- 根据GregorianCalender来算给定日期是星期几
- 按年月日星期几的形式输出日期格式
- 显示日期星期几
- 输入日期输出星期
- php输出星期几
- 输出星期几
- mysql中根据某个给定日期计算那天是星期几的方法
- Java 给定一个日期,求对应的周数、星期几等
- Java 给定一个日期,求对应的周数、星期几等
- form表单的reset
- 使用GDB调试时如何保证不串行
- 2.6内核makefile详解 documention/kbuild/makefiles.txt---翻译
- applicationContext.xml里面配置c3p0
- 数字的字符串处理
- 给定日期输出星期几
- hdu 2066
- UVa10000 - Longest Paths(为什么是WA)
- MySQL前缀索引导致的慢查询
- 程序员笑话:int类型占几个字节?
- IO流字符流和字节流的概述
- eclipse 集成开发C++ 和 MinGW 安装遇到问题
- HDU:2133 What day is it
- 抓住机会成交抓住最佳时机成交(3)