#include int date_to_day(int year, int month, int day) { if (month < 3) { month += 12; year -= 1; } return ((13*month+3)/5 + day + year + year/4 - year/100 + year/400) % 7; } void print_day_of_week(int day) { switch (day) { case 0: printf("Monday\n"); break; case 1: printf("Tuesday\n"); break; case 2: printf("Wednesday\n"); break; case 3: printf("Thursday\n"); break; case 4: printf("Friday\n"); break; case 5: printf("Saturday\n"); break; case 6: printf("Sunday\n"); break; } } int main() { int rc, year, month, day, nd; printf("Enter a day (yyyy-mm-dd): "); rc = scanf("%d-%d-%d", &year, &month, &day); if (rc != 3) { printf("Failed to parse date\n"); return 1; } nd = date_to_day(year, month, day); print_day_of_week(nd); return 0; }