首先声明,我是个菜鸟;这是从书(盗版)上抄的,所有的printf(" ")里的空格(看不清)我都不知道有几个,我不会改,所以出来时乱的,但是希望能帮到你,我不要分
#include"stdio.h"
main()
{
int a,i,j,k,n,t,w,x,y,z;static int d[13][38];
int m[14]={0,31,28,31,30,31,30,31,31,30,31,30,31};
char wst[]=" Son Mon Tue Wed Thu Fri Sat ";
printf("please input the year:");
scanf("%d",&y);
if (y%4==0 && y%100!=0 || y%400==0)/*闰年2月为29日*/
m[2]=29;
w=(y+(y-1)/4-(y-1)/100+(y-1)/400)%7;/*计算Y年元旦为星期W*/
for (i=1;i<=12;i++)
{
a=1;
for (j=1;j<=6;j++)
{
for (k=0;k<=6;k++)
{
while (k
a=a+1;
k=k+1;
if (w==7) w=0;
if (a>m[i]) break;
}
if (a>m[i]) break;
}
}
printf("input x(1,2,3,4,6):");/*每行打印x个月*/
scanf("%d",&x);
for (k=1;k<=16*a-3;k++)
printf(" ");
printf("=====%d=====\n",y);/*打印年号*/
for (n=1;n<=12/x;n++)
{
t=x*(n-1)+1;
printf("\n ");
for (z=1;z<=x;z++)
{
for (k=1;k<=15;k++)
printf(" ");
printf("%2d",t+z-1);/*打印月号*/
for (k=1;k<=14;k++)
printf(" ");
}
printf("\n ");
for (z=1;z<=x;z++)
printf("%s",wst);/*打印星期标题*/
for (j=1;j<=6;j++)
{
printf("\n ");
for (i=t;i<=t+x-1;i++)
{
printf(" ");
for (k=0;k<=6;k++)
if (d[i][j*10+k]==0)
printf(" ");
else
printf("%4d",d[i][j*10+k]);
}}}
getch();}