问题描述
输入2010年的任意一天(两个正整数a,b,a代表月份,b代表日期),输出这天是星期几。
Sample Input
1 1
Sample Output
5
代码
#include<stdio.h>
#include<stdlib.h>
#define DYTS 31
#define XYTS 30
#define EYTS 28
int main(void)
{
int mouth,day,tians;
printf("请输入2010年的任意一月(前者为月,后者为天)");
scanf("%d%d",&mouth,&day);
switch(mouth)
{
case 12:tians=365-(31-day);break;
case 11:tians=365-DYTS-(XYTS-day);break;
case 10:tians=365-DYTS-XYTS-(DYTS-day);break;
case 9:tians=365-2*DYTS-XYTS-(XYTS-day);break;
case 8:tians=365-2*DYTS-2*XYTS-(DYTS-day);break;
case 7:tians=365-3*DYTS-2*XYTS-(DYTS-day);break;
case 6:tians=365-4*DYTS-2*XYTS-(XYTS-day);break;
case 5:tians=365-4*DYTS-3*XYTS-(DYTS-day);break;
case 4:tians=365-5*DYTS-3*XYTS-(XYTS-day);break;
case 3:tians=365-5*DYTS-4*XYTS-(DYTS-day);break;
case 2:tians=365-6*DYTS-4*XYTS-(EYTS-day);break;
case 1:tians=365-6*DYTS-4*XYTS-EYTS-(DYTS-day);break;
}
printf("2010年%d月%d日是星期",mouth,day);
if((tians+4)%7==0)
printf("日\n");
else
printf("%d\n",(tians+4)%7);
system("pause");
return 0;
}
/*关于switch部分应该可以更为简洁,欢迎读者帮忙修改*/