我這裏有核心代碼(全部代碼早就不知道丟那了又懶得寫,大部分功能都在這裏了
?/*?計算當前年份1月1日星期幾?*/ y_days=0;?/*?從2000年1月1日算起到當年1月1日前經歷的天數*/ for(i=2000;i<year;i++) if?(i%4==0?&&?i%100!=0?||?i%400==0)?y_days=y_days+366;/*?閏年366天?*/ else?y_days=y_days+365;/*?平年365?天?*/ weekday=(weekday+y_days)%7;/*?當年1月1日,星期幾?*/ for?(month?=1;month<=12;month++)/*?逐月打印日歷?*/ {?printf?("\n\n\t?%d-%d\n\n",year,month); printf?("MON?TUES?WEDN?THUR?FRI?SAT?SUN?\n\n"); /*?給出當月的天數?*/ switch?(month) {case?1:?case?3:?case?5:?case?7:?case?8:?case?10:? case?12:?days=31;break; case?4:?case?6:?case?9:?case?11:?days=30;?break; case?2:?if?(year%4==0?&&?year%100!=0?||?year%400==0)?days=29; else?days=28; }?for(i=1;i<weekday;i++)?printf("?");?/*?每個月第1周的前導空格?*/for(i=1;i<=days;i++,weekday++)
{?printf("%5d",i);if?(weekday%7==0)
{?putchar('\n');
weekday=weekday%7;}?/*?weekday=1—7?*/ }printf("\n");
getch();
} getch();}