作业帮 > 综合 > 作业

C语言算星期几# include int main(void){printf("%d\n", ((12+(12/4)+

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/06/11 20:18:27
C语言算星期几
# include
int main(void)
{
printf("%d\n", ((12+(12/4)+(20/4)-2*20+((26*(2+1)/10)+2-1))%7) );// 为什么这公式 会算出-5来
return 0;
}
2012 5 1 也是会算出 -5来
咋回事
int DayOfWork(unsigned short iiYear,unsigned short iiMonth,unsigned short iiDay) const
{\x05
\x05//注意:在公式中有个与其他公式不同的地方:
\x05//把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算.
\x05assert( iiMonth >= 1 && iiMonth = 1 && iiDay
再问: printf("%d\n", ((11+(12/4)+(20/4)-2*20+((26*(14+1)/10)+2-1))%7) ); 算了 还是不对 2012 2 2 我输入的 2011 14 2 结果5
再答: 你先用下我那个函数试试
再问: assert 这是什么东西
再答: 删除了吧,对你来说没有,断言,看输入的年份是否非法
再问: int main(void) { printf("%d\n", DayOfWork(2011,14,2)); return 0; } 结果是4.....正确
再答: 不输入2011 14 2 我那里的注释是解释算法的,你输入的还要是正常的 2011 2 2