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

#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 这个式子算出来的东西是什么?

y + y/4 - y/100 + y/400 + ( 13*m + 8 )/5 + d )%7 应该是计算是不是闰年,毕竟2月天数不定,所以要数天数必须考虑2月的情况,数的天数再求于7就得出偏移的星期
温馨提示:答案为网友推荐,仅供参考
相似回答