日期
题目描述:今天是2012年4月12日星期四,编写程序,输入今天开始到12月31日之间的任意日期,输出那一天是星期几。例如输入“5(回车)20(回车)”(5月20日),输出应为“Sunday”。
输入描述:输入第一行为月份。输入第二行为这个月的第几天。
输出描述:输入这一天是星期几。
C语言代码:
#include <stdio.h>
int main()
{
int a,b,day;//a存月份,b存日期
//enum week{ Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}day;
scanf("%d",&a);
scanf("%d",&b);
switch(a)
{
case 5:
day=(b+21)%7+1;//4月9日为星期一,将日期与四月剩余天数求余加1得星期几
break;
case 6:
day=(b+31+21)%7+1;break;
case 7:
day=(b+31+21+30)%7+1;break;
case 8:
day=(b+31+21+30+31)%7+1;break;
case 9:
day=(b+31+21+30+31+31)%7+1;break;
case 10:
day=(b+31+21+30+62+30)%7+1;break;
case 11:
day=(b+31+21+30+92+31)%7+1;break;
case 12:
day=(b+31+21+30+123+30)%7+1;break;
default:day=0;
}
switch(day)
{
case 1:
printf("Monday");break;
case 2:
printf("Tuesday");break;
case 3:
printf("Wednesday");break;
case 4:
printf("Thursday");break;
case 5:
printf("Friday");break;
case 6:
printf("Saturday");break;
case 7:
printf("Sunday");break;
}
return 0;
}
我在VS2017测了几个用例,没发现错误,能帮菜根花看看哪里错了吗?谢谢各位了。(ps:太穷了,没有N诺会员,还不能看哪个测试用例错误)