打印输出公元1~9999年之间任意一年的日历

来源:百度知道 编辑:UC知道 时间:2024/09/22 13:39:28
日历显示形式同挂历。

已经编译运行确认过了:)

#include<stdio.h>
#include<conio.h>

int week(int y,int m,int d);
void main()
{
int monthday[12]={31,28,31,30,31,30,31,31,30,31,30,31};

int y,w,i,m=1,d=1;
printf("??入一个年?yyyy:\n");
scanf("%d",&y);
if (y%4==0&&y%100!=0) monthday[1]=29;

for(m=1;m<=12;m++)
{

printf("\n\n%d年,%d月\n",y,m);
printf(" S M T W T F S \n");

for (d=1;d<=monthday[m-1];d++)
{
w=week(y,m,d);
if(d==1)
{
for (i=0;i<w;i++) printf(" ");
}

if(d<10) printf(" %d ",d);
else printf("%d ",d);
if(w==6) printf(" \n");
}

}
getch();
}

int week (int y,int m,int d)
{
int w;
if((m==1)||(m==2))
{
y--;
m+=12;
}
w=(d