这是篇菜鸟级的程序,发表后还希望大家多多关照,有不足之处希望大鸟们多多指教。
/*日历—— 输入1980年到2080年之间的某年某月,输出其相连的三个月,并且和星期对上*/
#define N 1980
main()
{int s=-1,a=1,i,j,x,p,y=N,z,n,m,k=1,t[1200];
printf("\nplease input a year number and month number:");
scanf("%d.%d",&p,&m);
for(z=m-1;z<=m+1;z++)
{printf("\n \t SU MO TU WE TH FR SA\n " );
for(i=0;i<70;i++)printf("=");
printf("\n %d.%d",(z>0?(z>12?(p+1):p):(p-1)),(z>0?(z>12?z%12:z):12));
x=fun(p,z);
t[1]=2;
while(a<1200)
{t[a+1]=(fun((k%12==0?(y++):y),(k%12==0?12:k%12))+t[a])%7;
a++; k++;}
for(n=0;n<t[(p-N)*12+z];n++)
{printf("\t ");}
for(j=1;j<=x;j++)
{printf("\t%d",j);
if((j+t[(p-N)*12+z])%7==0)
printf("\n\t"); }
}
}
int fun(int y,int m)
{
if(m==4m==6m==9m==11)
return 30;
else if(m==2)
{if(y%4!=0)
return 28;
if(y%4==0)
return 29; }
else
return 31;
}