#include <stdio.h>
main()
{
void print_head(int x,int y); /*打印头文件*/
void print_month(int x,int y); /*打印月历*/
int days_of_month(int x,int y); /*计算指定年月的天数*/
int leap(int x,int y); /*计算指定年月1号是星期几*/
int i,days,year,month,firstday;
char choose;
do
{printf ("\n\n请输入年(0000~9999):\n\n");
scanf ("%d",&year);
if (year<0||year>9999) printf ("错误请重新输入!");}
while (year<0||year>9999);
printf ("\n\n");
do
{printf ("请输入一个月(0~12)\n\n\n");
scanf ("%d",&month);
if (month<=0||month>12) printf ("错误请重新输入!");}
while (month<=0||month>12);
printf ("\n\n");
days=days_of_month(year,month); /*调用函数*/
firstday=leap(year,month);
print_head(year,month);
print_month(firstday,days);
choose=getchar();
printf ("\n\n\n");
printf("would you like to continue(y/n):\n\n");
scanf("%c",&choose);
if (choose=='y'||choose=='Y') main();
}