#include
int main (void)
{
int year,month,j,i,day1,day2,one1,one2,w;
printf("enter a year:");
scanf("%d",&year);
printf("\n\n");
printf("---------------------%d---------------------\n\n",year);
one1=((year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400+1)%7;
for(month=1;month<=12;month+=2)
{ printf(" ",month,year);
printf(" \n",month+1,year);
printf("-------------------- --------------------\n");
printf("日 一 二 三 四 五 六 日 一 二 三 四 五 六\n");
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: day1=31;break;
case 4:
case 6:
case 9:
case 11:day1=30;break;
default:if(!(year%4)&&(year0)||!(year%400))
day1=29;
else
day1=28;
}
for(j=1;j<=one1;j++)
{
if(one1==7)
break;
else
printf(" ");
}
for(i=1;i<=7-one1;i++)
printf("%2d ",i);
printf(" ");
switch(month+1)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12: day2=31;break;
case 4:
case 6:
case 9:
case 11:day2=30;break;
default:if(!(year%4)&&(year0)||!(year%400))
day2=29;
else
day2=28;
}
one2=(one1+day1)%7;
for(j=1;j<=one2;j++)
{
if(one2==7)
break;
if(j!=7)
printf(" ");
}
for(i=1;i<=7-one2;i++)
printf("%2d ",i);
printf("\n");
for(i=8-one1;i<=14-one1;i++)
printf("%2d ",i);
printf(" ");
for(i=8-one2;i<=14-one2;i++)
printf("%2d ",i);
printf("\n");
for(i=15-one1;i<=21-one1;i++)
printf("%2d ",i);
printf(" ");
for(i=15-one2;i<=21-one2;i++)
printf("%2d ",i);
printf("\n");
for(i=22-one1;i<=28-one1;i++)
printf("%2d ",i);
printf(" ");
for(i=22-one2;i<=28-one2;i++)
printf("%2d ",i);
printf("\n");
for(i=29-one1;i<=35-one1&&i<=day1;i++)
printf("%2d ",i);
printf(" ");
for(w=1;w<=35-day1-one1;w++)
printf(" ");
for(i=29-one2;i<=35-one2&&i<=day2;i++)
printf("%2d ",i);
printf("\n");
for(i=36-one1;i<=day1;i++)
printf("%2d ",i);
for(w=1;w<=35-day1-one1;w++)
printf(" ");
if(day1==31&&(one1==4||one1==3||one1==2||one1==1||one1==7))
printf(" ");
if(day1==30&&(one1==4||one1==3||one1==2||one1==1||one1==7))
printf(" ");
for(i=36-one2;i<=day2;i++)
printf("%2d ",i);
printf("\n-------------------- --------------------\n\n");
printf("\n");
one1=(one2+day2)%7;
}
printf("---------------------%d---------------------\n",year);
getchar();
printf("按任意键退出");
getchar();
return 0;
}