#include void main() { int i,j,temp,temp_i,day,year; long int yeardays; long int sumday(int year); /*所有天数求和 ,不包括今天的 */ int leapyear(int year); /*闰年的定义*/ int month[]=;/*每月天数的判断*/ int everyday[6][14]; printf ("please enter a year:\n"); scanf("%d",&year); yeardays=sumday(year); for(temp=1;temp<=6;temp++) { getchar(); for(i=0;i<6;i++) for(j=0;j<14;j++) everyday[i][j]=0; /*天数初始化*/ switch(temp) { case 1:printf("\t 一月 %d\t\t 二月 %d\n",year,year);break; case 2:printf("\t 三月 %d\t\t 四月 %d\n",year,year);break; case 3:printf("\t 五月 %d\t\t 六月 %d\n",year,year);break; case 4:printf("\t 七月 %d\t\t 八月 %d\n",year,year);break; case 5:printf("\t 九月 %d\t\t 十月 %d\n",year,year);break; case 6:printf("\t 十一月 %d\t\t 十二月 %d\n",year,year);break; } /*控制两栏输出*/ printf("日 一 二 三 四 五 六 日 一 二 三 四 五 六 \n"); i=0;j=0; for(temp_i=0;temp_i<(yeardays%7);temp_i++) { everyday[0][j++]=0; } day=1; while(day<=month[2*temp-1]) /*奇数输出*/ { if(j%7==0) { j=0;i++; } everyday[i][j++]=day; day++; yeardays++; } i=0;j=7; for(temp_i=0;temp_i<(yeardays%7);temp_i++) { everyday[0][j++]=0; } day=1; if(leapyear(year)&&temp==1) while(day<=month[13]) { if(j%14==0) { j=7;i++; } everyday[i][j++]=day; day++; yeardays++; } else while(day<=month[2*temp]) /*偶数输出*/ { if (j%14==0) { j=7;i++; } everyday[i][j++]=day; day++; yeardays++; } for (i=0;i<6;i++) { for(j=0;j<14;j++) { if(everyday[i][j]!=0) printf("%-4d",everyday[i][j]); else printf(" "); if(j==6) printf(" "); } printf("\n"); } } } int leapyear(int year) /*闰年的判断*/ { if((year%4==0&&year%100!=0)||year%400==0) return(1); else return (0); } long int sumday(int year) /*每年天数的判断*/ { int yearstart=1,leapsum=0; while(yearstart