C语言编写的万年历代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

该代码在VC++6.0编译器下运行,只要按照编译器给出的说明操作,就能将万年历显示在调试窗口中了……………………………………由于制作时间匆忙,很多注释都来不及写了,对于出学者可以慢慢看,代码很简单的,都放在了主函数里,如果有兴趣的话,可以把这些代码放在几个文件里,这样会好看点,加油了!

#include

#include

void main()

{

int m,i,j,n=0,y=2010,wo,w,a;

printf("input the form of: year-month:\t");

scanf("%d-%d",&y,&m); //输入格式的决定

if(y%4==0&&y%100!=0||y%400==0)

a=29;

else a=28; //闰年的判断及2月日数的确定

if(m<1||m>12){

printf("month is not exit,please input later!\n");

exit(0);

}

wo=(y+(y-1)/4-(y-1)/100+(y-1)/400)%7; //1月1日的算法wo表示

for(i=0;i<55;i++)

printf("*"); //*的输入

printf("\n");

for(j=1;j<=7;j++)

printf("星期%d\t",j); //星期的输入

printf("\n"); //表前的建造

switch(m){

case 1:for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=31;j++){

if(n%7==0)

printf("\n");

printf("%d\t",j);

n++;

}

break; // 1 month case 2:w=(wo+31)%7;

for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=a;j++){

if(n%7==0)

printf("\n");

printf("%d\t",j);

n++;

}

break; // 2 month case 3:w=(wo+31+a)%7;

for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=31;j++){

if(n%7==0)

printf("\n");

printf("%d\t",j);

n++;

}

break; // 3 month case 4:w=(wo+31+a+31)%7;

for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=30;j++){

if(n%7==0)

printf("\n");

printf("%d\t",j);

n++;

}

break; // 4 month

case 5:w=(wo+31+a+31+30)%7;

for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=31;j++){

if(n%7==0)

printf("\n");

printf("%d\t",j);

n++;

}

break; // 5 month

case 6:w=(wo+31+a+31+30+31)%7;

for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=30;j++){

if(n%7==0)

printf("\n");

printf("%d\t",j);

n++;

}

break; // 6 month

case 7:w=(wo+31+a+31+30+31+30)%7;

for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=31;j++){

if(n%7==0)

printf("\n");

printf("%d\t",j);

n++;

}

break; // 7 month

case 8:w=(wo+31+a+31+30+31+30+31)%7;

for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=31;j++){

printf("\n");

printf("%d\t",j);

n++;

}

break; // 8 month

case 9:w=(wo+31+a+31+30+31+30+31+31)%7;

for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=30;j++){

if(n%7==0)

printf("\n");

printf("%d\t",j);

n++;

}

break; // 9 month

case 10:w=(wo+31+a+31+30+31+30+31+31+30)%7;

for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=31;j++){

if(n%7==0)

printf("\n");

printf("%d\t",j);

n++;

}

break; // 10 month

case 11:w=(wo+31+a+31+30+31+30+31+31+30+31)%7;

for(i=1;i

printf("\t");

n++;

}

for(j=1;j<=30;j++){

if(n%7==0)

printf("\n");

printf("%d\t",j);

n++;

}

break; // 11 month

case 12:w=(wo+31+a+31+30+31+30+31+31+30+31+30)%7;

for(i=1;i

相关文档
最新文档