输入:年月日
输出:周几
备注:从1月1日开始算起,默认是周一。思想就是算出总的天数模7即可
#include<stdio.h>
//输入一个年月日 判断今天是星期几
//已知1月1日是周一
int main(){
int year,month,day,sum=0;
int week,sumDay=0;
int mmonth[]={31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d %d %d",&year,&month,&day);
if(month>12||month<0) //输入的月份信息不合适
printf("false");
else if(day>mmonth[month-1]) //输入的天数不对
printf("false");
else
printf("该日历为星期几,结果如下:\n");
for (int i = 1; i < year; ++i)
{
//是否是润年
if((i % 4 == 0 && i % 100 != 0) || i % 400 == 0){
sumDay += 366;
}else{
sumDay += 365;
}
}
if((year%4==0&&year%100!=0) || year%400==0) //判断是不是闰年
mmonth[1] = 29;
for(int i=0;i<month-1;i++) //前month-1个月,即0~~month-2
sumDay+=mmonth[i];
sumDay+=day;
printf("%d",sumDay%7);
}