#include int leap(int); void main() { int d, m, y; int ndays, wday; char* wdstr; printf("Enter d, m, y:\n"); scanf("%d %d %d", &d, &m, &y); ndays = daysgoneby(y) + doy(d,m,y); wday = dow(ndays); switch (wday) { case 0: wdstr = "Sun"; break; case 1: wdstr = "Mon"; break; case 2: wdstr = "Tue"; break; case 3: wdstr = "Wed"; break; case 4: wdstr = "Thu"; break; case 5: wdstr = "Fri"; break; case 6: wdstr = "Sat"; } printf("Day of the week is: %d (%s).\n", wday, wdstr); } int leap(int y) { ... } int dow(int dcount) { int offset = 2; /* 1 Jan 1800 AD is a Wed */ return ((offset + dcount) % 7); } int daysgoneby(int y) { ... } int doy(int d, int m, int y) { ... }