Print calendar program in C

/* prog to print calendar of any month in a given year by pradeep */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void main()
{
int firstdayofyear(int);
int firstdayofmonth(int,int);
int leapckeck(int);

int i,j,yr=0,date=0,m=0;
int f=0,fdoy=0;

char *mon[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
char day[]={'S','M','T','W','T','F','S'};
int dim[]={31,28,31,30,31,30,31,31,30,31,30,31};

/*
dim  is days in month
jan 31, feb 28/29, mar 31, apr 30, may 31, jun 30, jul 31, aug 31, sep 30, oct 31, nov 30, dec 31
*/

printf("enter month (1-12) and yr\n");
scanf("%d %d",&m,&yr);

printf("you enetered %d %d\n",m,yr);

if(leapcheck(yr))
dim[1]++;
/* printf("days in feb %d",dim[1]);  */

/* find first of month and year  */
fdoy=firstdayofyear(yr);
f=firstdayofmonth(fdoy,m);

if((m>2)&&(dim[1]==29))
f++;  /* adding on odd day for feb of leap yr for month later than feb*/

if((m>0)&&(m<13))
{
 printf("\t\t    \3%s %d\3 \n",mon[m-1],yr);
}
else
{
 printf("wrong month, printing for Jan");
 m=1;
}

/* print day header */
for(i=0;i<7;i++)
printf("%c \t",day[i]);
printf("\n");

/* starting from first day */
for(j=0;j<f;j++)
printf("\t");


for(date=1;date<=dim[m-1];date++)
{
 if((date+f-1)%7==0)
 printf("\n");
 printf("%d \t",date);
}

}/* end of main function */

/* function to check leap year */
int leapcheck(int yr)
{
 int leap=0;
 if(yr%100==0)
 {
  if(yr%400==0)
  {
/*  printf("%d is leap yr",yr); */
  leap =1;
  }
  else
  {
/*  printf("%d is not a leap yr",yr);   */
  }
 }
 else if(yr%4==0)
 {
/*  printf("%d is leap yr",yr);   */
  leap=1;
 }else
  {
/*  printf("%d is not a leap yr",yr);   */
 }
 return(leap);
}


/* function to find first day of the year */
int firstdayofyear(int year)
{

/*  printf("in year %d \n",year);   */

int oddyears=0,cents=0,leapys=0,odds=0,years=0;
years--;  /* cal odd days till last yr  */
oddyears=year%400;  /* calendar reset after 400 yrs, rest yrs odd days */
cents=oddyears/100;
odds=odds + cents*5;  /* 5 odd days in each century */
years=oddyears%100;
leapys=years/4;      /* leap yeras to add extra odd days */
odds = odds + leapys + years;
/*
printf("cents %d leapys %d, odds %d\n",cents,leapys,odds);
*/
return(odds%7);

}

/* function to find first day of the month */
int firstdayofmonth(int fdoy,int mon)
{
int i=0,odds=0;
/*
printf("fdoy is %d month is %d\n",fdoy,mon);
dim  is days in month
jan 31, feb 28/29, mar 31, apr 30, may 31, jun 30, jul 31, aug 31, sep 30, oct 31, nov 30, dec 31
*/

/* odd days in each month ,for feb we will adjust while printing there*/
int oddm[]={3,0,3,2,3,2,3,3,2,3,2,3};
for(i=1;i<mon;i++)
{
odds=odds+oddm[i-1];
}

odds=odds+fdoy;
/* printf("odds are %d \n",odds);  */
return(odds%7);
}