c语言求某年的一天是星期几

#include<stdio.h>intsubZeller(inty,intm,intd){if(m<3){y--;m+=12;}return(y+y/4-y/100+y... #include <stdio.h>
int subZeller( int y, int m, int d )
{
if( m < 3 ) {
y--; m += 12;
}
return ( y + y/4 - y/100 + y/400 + ( 13*m + 8 )/5 + d )%7;
}

int main()
{
int year, month, day;
char *dayname[] =( "0","1","2","3"
,"4","5","6")
while( 1 ) {
printf( "年月日是?(yyyy/mm/dd)> " );
if( scanf("%d/%d/%d", &year, &month, &day) != 3 ) break;
printf( "--> %s\n", dayname[subZeller(year,month,day)] );
}
return 0;
}

这段c语言是指求某年某月某天是星期几,要是改成只求:1970-2017年之间的的某一年的 1月1日是星期几的话,该怎么改?
还有 y + y/4 - y/100 + y/400 + ( 13*m + 8 )/5 + d )%7 这个式子算出来的东西是什么?
展开
 我来答
户哲茂5B
2017-07-21 · TA获得超过817个赞
知道小有建树答主
回答量:781
采纳率:59%
帮助的人:135万
展开全部
y + y/4 - y/100 + y/400 + ( 13*m + 8 )/5 + d )%7 应该是计算是不是闰年,毕竟2月天数不定,所以要数天数必须考虑2月的情况,数的天数再求于7就得出偏移的星期
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式