08/01/25 13:21:55
>>>>578
#include<stdio.h>
int main(void){
int year, month, day, week, tmpm, tmpy, i;
int daymax[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
year = tmpy = 2008;
month = tmpm = 1;
day = 1;
if(year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) daymax[1] = 29;
if (tmpm < 3) {
tmpy--;
tmpm += 12;
}
week = (tmpy + tmpy/4 - tmpy/100 + tmpy/400 + (13*tmpm+8)/5 + day) % 7;
for(; month <= 12; day++, week++){
if(week == 7) week = 0;
if(day == 1){
printf("\n***** %04d / %2d *****\n", year, month);
for(i=0; i < week; i++) printf(" ");
}
printf(" %2d", day);
if(day == daymax[month-1]){
putchar('\n');
day = 0;
month += 1;
continue;
}
if(week == 6) putchar('\n');
}
return 0;
}