Solution :
#include<[tex]$\text{stdio.h}$[/tex]>
int [tex]$\text{dayofweek}$[/tex](int d, [tex]$\text{int m}$[/tex], int y){
static [tex]$\text{int t}[]$[/tex] = { 0, [tex]$3,2$[/tex], 5, [tex]$0,3$[/tex], 5, 1, [tex]$4,6,2,4$[/tex] };
y -= [tex]$m<3$[/tex];
return ([tex]$y+$[/tex] y/4 - y/100 + y/400 + t[m-1] + d) % 7;
}
int main() {
int month,year,i;
printf("Enter Month : ");
scanf("%d",&month);
printf("Enter Year : ");
scanf("%d",&year);
//find week day number
int day = dayofweek(1,month,year);
char * weekDays[] = {"Su","Mo","Tu","We","Th","Fr","Sa"};
printf("\n");
//print week day header
for(i=0;i<7;i++)
printf("%s ",weekDays[i]);
printf("\n");
//print days accordingly
for(i=0;i<day;i++)
printf(" ");
for(i=day;i<=day+30;i++){
printf("%-2d ",i-day+1);
if((i+day)%7==0)
printf("\n");
}
}