#include <stdio.h>main(){void print_head(int x,int y); /*打印头文件*/void print_month(int x,int y); /*打印月历*/int days_of_month(int x,int y); /*计算指定年月的天数*/int leap(int x,int y); /*计算指定年月1号是星期几*/int i,days,year,month,firstday;char choose; do {printf ("nnplease input the year(0000~9999):nn"); scanf ("%d",&year); if (year<0||year>9999) printf ("WANNING:ERROR,please input again!");} while (year<0||year>9999); printf ("nn"); do {printf ("please input the month(0~12)nnn"); scanf ("%d",&month); if (month<=0||month>12) printf ("WANNING:ERROR,please input again!");} while (month<=0||month>12); printf ("nn"); days=days_of_month(year,month); /*调用函数*/ firstday=leap(year,month); print_head(year,month); print_month(firstday,days); choose=getchar(); printf ("nnn"); printf("would you like to continue(y/n):nn"); scanf("%c",&choose); if (choose=='y'||choose=='Y') main();}days_of_month(int x,int y){int z;switch (y){case 1: case 3: case 5: case 7: case 8: case 10: case 12: z=31;break; case 4: case 6: case 9: case 11: z=30;break; case 2: {if ((x%4==0&&x%100!=0)||(x%400==0)) z=29; else z=28;break; } }return z;}leap(int x,int y){int z,i,moday;z=(x+(x-1)/4-(x-1)/100+(x-1)/400)%7;for (i=1;i<y;i++) {moday=days_of_month(x,i); /*钳套调用函数*/ z=(z+moday)%7; }return z;}void print_head(int x,int y){printf ("nn********************************************************************************nn");printf ("tttt%d %dnn",x,y);printf ("ttt SUN MON TUE WED THU FRI SATn");printf ("ttt");}void print_month(int x,int y){int i;char space[7]={' '};for (i=1;i<=x;i++) printf ("%4c",space[i]);for (i=1;i<=y;i++) {if ((i+x)%7==1) printf ("nttt%4d",i); else printf ("%4d",i);}printf ("nn********************************************************************************nn");}
导读:目前正在解读《C语言万年历代码分享》的相关信息,《C语言万年历代码分享》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《C语言万年历代码分享》的详细说明。
简介:在这里和大家分享一个用C语言编程的万年历代码。
提醒:《C语言万年历代码分享》最后刷新时间 2024-03-14 01:01:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《C语言万年历代码分享》该内容的真实性请自行鉴别。