在公式中d表示日期中的日数,m表示月份数,y表示年数。 注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。 以公元元年为参考,公元元年1月1日为星期一 程序如下: /*利用基姆拉尔森计算日期公式 w=(d+2*m+3*(m...
W 是星期几(0代表星期六,1代表星期天,...,6代表星期五) d 是日 m 是月(3月和4月要分别当作上一年的13月和14月来计算) y 是年(如果是1月或2月,则需要当作上一年的年份来计算) 输出计算结果是周几: 根据计算结果输出对应的星期几。 提供错误处理机制: 对于非法输入或其他异常情况,给出相应的错误提示。
int everyMonth[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};void main(){ int year, month, day;printf("请输入年_月_日:");scanf("%d%d%d", &year, &month, &day);printf("星期:%d\n", GetWeek(year, month, day));return;} int IsLeap(int year...
C语言根据日期判断星期几,使用基姆拉尔森计算公式: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来代入公式计算。以公元元年为...
sizeof(weekday),"%A",timeptr);printf("%d年%d月%d日是%s\n",year,month,day,weekday);return...
要求,输入对应的年月日,能判断对应是星期几,并且循环打印这一个月的日历表格 #include <stdio.h>int main(int argc, const char * argv[]) { int year,sum,sum1=0,sum2=0,sum3=0,month,a,sum4; int year1,month1,day1; printf("请输入年"); ...
C#实现的根据日期得到今天是星期几 算法如下: 基姆拉尔森计算公式: W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003...
先做一个函数,计算1900年1月1日到该天的天数,然后用膜除求出星期几并输出。具体代码如下:include <stdio.h>#include <stdlib.h>int Day(int y,int m,int d);int main(int argc, char *argv[]) {int i; //循环变量int year,month,day; //读取用户输入的年月日int days; //...
1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值)算出来的W除以7,余数是几就是星期几。如果余数是0,则为星期日.以2049年10月1日(100周年国庆)为例,用蔡勒(Zeller)公式进行计算,蔡勒(Zeller)公式:w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 =49+[49/4]+[20...
比如,我们要 计算2013年1月28日,那么,c=20,y=12(因为是1月,按照上一年取值),m=1,d=28。将这些按照日期获得的数据带入公式,得到的w除 以7,得到的结果是几就是星期几,如果是0则是星期日。另外还需要说明的是,公式中的中括号[…]表示取其中计算结果的整数部分。