给定日期-判断是星期几

来源:互联网 发布:linux su认证失败 编辑:程序博客网 时间:2024/06/04 19:01
//题目:给定日期,判断是星期几
/*
在公式中d表示日期中的日数,m表示月份数,y表示年数。
注意:在公式中有个与其他公式不同的地方:
把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。
以公元元年为参考,公元元年1月1日为星期一</PRE><PRE>程序如下:
*/
#include<stdio.h>
#include<math.h>
void CaculateWeekDay(int y,int m, int d)
{
    if(m==1||m==2) {
        m+=12;
        y--;
    }
    int iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
    switch(iWeek)
    {
    case 0: printf("星期一\n"); break;
    case 1: printf("星期二\n"); break;
    case 2: printf("星期三\n"); break;
    case 3: printf("星期四\n"); break;
    case 4: printf("星期五\n"); break;
    case 5: printf("星期六\n"); break;
    case 6: printf("星期日\n"); break;
    }

void main()
{
    int year=0,month=0,day=0;
    printf("请输入日期:\n格式为:1900,1,1\n");
        scanf("%d,%d,%d",&year,&month,&day);
        CaculateWeekDay(year,month,day);
}
1 0
原创粉丝点击