// Modified from C10 Ex5 #include #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 argc, char *argv[]) { int rc, year, month, day, nd; if ( argc != 4 ) { printf ("USAGE: %s year month day\n",argv[0]); exit (0); } sscanf(argv[1],"%d",&year); sscanf(argv[2],"%d",&month); sscanf(argv[3],"%d",&day); nd = date_to_day(year, month, day); print_day_of_week(nd); return 0; }