int dayofweek( year, month, day ) /* 0 = Sunday */ int year, month, day; /* y > 1752 */ { static int offset[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}; year -= month < 3; return (year + year/4 - year/100 + year/400 + offset[month-1] + day) % 7; } int dayofweek( int year, int month, int day) /* 0=sunday, 1=monday, etc. */ { int a = (14-month) / 12; int y = year - a; int m = month + 12*a - 2; return (day + y + y/4 - y/100 + y/400 + (31*m)/12) % 7; }