#include <stdio.h>
void printCalbyMonth(int year,int month);
void main()
{
int year,month;
clrscr();
printf("please input year,month");
scanf("%d,%d",&year,&month);
printCalbyMonth( year,month);
}
int leap(int year)
{
if( (year%4==0 && year%100!=0) || (year%400==0) )
return 1;
else
return 0;
}
int daysofMonth(int year,int month)
{
if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
return 31;
else if(month==4 || month==6 || month==9 || month==11)
return 30;
else if(month==2)
if(leap(year))
return 29;
else
return 28;
}
int dateofMonth(int year,int month)
{
long days=0;
int date,i;
for(i=1900;i<year;i++)
if(leap(i))
days+=366;
else
days+=365;
for(i=1;i<month;i++)
days+=daysofMonth(year,i);
date=(days+1)%7;
return date;
}
void printCalbyMonth(int year,int month)
{
int date,i;
date=dateofMonth(year,month);
printf("%d\n",date);
printf("sun mon tue wed thr fri sat\n");
for(i=0;i<date;i++)
printf(" ");
for(i=1;i<=daysofMonth(year,month);i++)
{
printf("%2d ",i);
if((i+date)%7==0)
printf("\n");
}
}
我们老师写的.