万年历的C语言程序

来源:百度知道 编辑:UC知道 时间:2024/09/24 22:15:59
功能要求:1 输入任一年将显示出该年的所有月份日期,对应的星期
2 注意闰年情况
显示格式要求如下:
1 月份(中英文都可以)
2 下一行显示星期,从周日到周六,中英文都可以
3 下一行开始显示日期从1号开始,并按其是周几实际情况与上面的星期数垂直对齐

已经编译运行确认过。

#include <stdio.h>
#include <stdlib.h>

int leap(int); /*判断是否为闰年*/
int md(int m,int y); /*返回本月的天数*/
void prtweek(void); /*输出表头*/
int fw(int m,int y); /*返回本月一号是星期几*/
void prtmonth(int m); /*输出月份表头*/
int main(void)
{
int y,m,i,test,week;
printf("请输入您要查询的年份: ");
scanf("%d",&y);
for (m=1; m<=12; m++) {
test=1;
prtmonth(m);
prtweek();
week=fw(m,y);
if (week!=6)
for (i=0; i<=week; i++) {
putchar('\t');
test++;
}
for (i=1; i<=md(m,y); i++,test++) {
printf("%d\t",i);
if (test%7==0) {
putchar('\n');
}
}
putchar('\n');

system("pause");//暂停,以便观察输出
}
return 0;
}
int leap(int y)
{
return (y%4==0&&y%100||y%400==0)?1:0;
}
int md(int m,int y)