1 基本思路
假设求解的是n年m月l日,就是将前n-1个月的天数累加起来得到sum,再加上当月的l,就是sum+l
只是不是每个月的天数都是一样的而已,还要注意n年是否是闰年,从而修改当年2月的天数。
2 闰年的判断方法
判断任意年份是否为闰年,需要满足以下条件中的任意一个:
① 该年份能被 4 整除同时不能被 100 整除;
② 该年份能被400整除。
3程序
int WHICH_DAY(int year,int month,int day)
{
int sum=0;
switch(month-1)
{
//case 12:sum+=31;
case 11:sum+=30;
case 10:sum+=31;
case 9:sum+=30;
case 8:sum+=31;
case 7:sum+=31;
case 6:sum+=30;
case 5:sum+=31;
case 4:sum+=30;
case 3:sum+=31;
case 2:
{
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
sum+=29;
else sum+=28;
}
case 1:sum+=31;
case 0 :sum+= 0;break;
}
return sum+day;
}