任务描述
X同学出生在“2002年01月07日”,已知1900年1月1日是星期一,你知道他出生的那天是星期几吗?随意给你一个日期,你知道是星期几吗?
输入格式:
输入为一行,由减号分隔的三个整数,形如:Y-M-D,表示一个日期。测试数据日期均为1900年以来的合法日期。
输出格式:
请输出该日期是星期几,星期一至星期日分别用1至7表示。
#include<stdio.h>
int main()
{
int y,m,d,net,num,sum=0;
scanf("%d-%d-%d",&y,&m,&d);
net=(y-1900)/4;
num=(y-1900)%4;
if(sum>=1)
sum=net*1460+(num-1)*365;
else
sum=net*1460;
switch(m)
{
case 12:sum+=30;
case 11:sum+=31;
case 10:sum+=30;
case 9:sum+=31;
case 8:sum+=31;
case 7:sum+=30;
case 6:sum+=31;
case 5:sum+=30;
case 4:sum+=31;
case 3:sum+=28;
case 2:sum+=31;
case 1:sum+=d;
}
sum=sum%7;
if(sum==0)
sum=7;
printf("%d",sum);
}