船舶年鉴更新
#包含& ltmath.h & gt
void print month(int m);
空打印头(int m);
int days ofmonth(int m);
int first day(int y);
int年,工作日;
void main()
{
int I;
Printf(“请输入年份:“);
scanf(“% d“,& amp年份);
weekday =第一天(年);
printf(“\ n \ n“);
printf(“% d year \ n“,year);
for(I = 1;我& lt=12;i++)
{
print month(I);
printf(“\ n“);
}
printf(“\ n \ n“);
}
void Print month(int m)//打印月历。
{
int i,天;
打印头(米);
days = days of month(m);
for(I = 1;我& lt=天;i++)
{
printf(“% 5d“,I);
week =(weekday+1)% 7;
if(weekday = = 0)printf(“\ n“);
}
}
Void打印头(int m)//打印月历标题(确定起始位置)
{
int I;
printf(“\ n % d月日123456 \n“,m);
printf(“”);
for(I = 0;我& lt工作日;i++)
printf(“”);
}
int daysoftmonth(int m)//每月的天数
{
开关(m)
{
案例1:
案例三:
案例五:
案例7:
案例8:
案例10:
案例12:返回31;
案例4:
案例6:
案例9:
案例11:返回30;
情况2:如果(((年份% 4 = = 0 & amp& amp年份%100!= 0)| year % 400 = = 0))
返回29;
其他
返回28;
默认值:返回0;
}
}
int first Day(int y)//判断元旦是星期几。
{
双s;
s =下限(年份-1+(年份-1)/4.0-(年份-1)/100.0+(年份-1)/400.0+1);
return(int)s % 7;
}