这是篇菜鸟级的程序,发表后还希望大家多多关照,有不足之处希望大鸟们多多指教。
/*日历—— 输入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:z):12));
x=fun(p,z);
t[1]=2;
while(a<1200)
{t[a 1]=(fun((k==0?(y ):y),(k==0?12:k)) 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==4||m==6||m==9||m==11)
return 30;
else if(m==2)
{if(y%4!=0)
return 28;
if(y%4==0)
return 29; }
else
return 31;
}