C Programming Help Part of my code written below. Evidently, it is totally ineff
ID: 3562932 • Letter: C
Question
C Programming Help
Part of my code written below. Evidently, it is totally ineffecient and doesn't work correclty anyway. I need someone to show me how to input the day and month and have the output only as the day that that input falls on (of 2014).
Example. 1 and then 1 ====Wednesday (of January 2014 ====but the month and year do not need to be outputed)
int month;
int day;
int m=6,t=7,w=1,t2=2,f=3,s=4,s2=5;
scanf("%d", &day);
scanf("%d", &month);
/*********************************************************************/
if (day==6||day==13||day==20||day==27 && month==1)
printf("It was a Monday");
else if (day==7 || day==14 || day==21 || day==28 && month==1)
printf("It was a Tuesday");
else if (day==3 || day==10 || day==17 || day==24 && month==1)
printf("It was a Wednesday");
else if (day==4 || day==11 || day==18 || day==25 && month==1)
printf("It was a Thursday");
else if (day==3 || day==10 || day==17 || day==24 || day==31 && month==1)
printf("It was a Friday");
else if (day==6 || day==13 || day==20 || day==27 && month==1)
printf("It was a Saturday");
else if (day==5 || day==12 || day==19 || day==26 && month==1)
printf("It was a Sunday");
/********************************************************************/
Explanation / Answer
static int t[] = { 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 };
y = 2014;
y -= m < 3;
int doyOfWeek;
dayOfWeek = ( y + y/4 - y/100 + y/400 + t[month - 1] + day) % 7;
if (dayOfWeek == 0)
printf("It was a Sunday");
else if (dayOfWeek == 1)
printf("It was a Monday");
else if (dayOfWeek == 2)
printf("It was a Tuesday");
else if (dayOfWeek == 3)
printf("It was a Wednesday");
else if (dayOfWeek == 4)
printf("It was a Thursday");
else if (dayOfWeek == 5)
printf("It was a Friday");
else if (dayOfWeek == 6)
printf("It was a Saturday");
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.