C语言实现的一个简单的万年历

来源:互联网 发布:低压电工考试软件 编辑:程序博客网 时间:2024/04/29 12:51
/*Author RayVersion 1.0*/#include<stdio.h>int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};char name[13][5]={"","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};int year;void find(int v){int sum=0,i,j,k;year=v-1;sum=year*365+(year/400*97+year%400/100*24+year%100/4)+1;if(v%4==0&&v%100!=0||v%40==0)month[2]++;for(i=1;i<=12;i++){int mod=sum%7;int count=mod-1;if(count<0) count=0;printf("%s\n",name[i]);printf("  Mon  Tue  Wed  Thu  Fri  Sat  Sun\n");for(k=1;k<=(mod-1)*5;k++)printf(" ");for(j=1;j<=month[i];j++){printf("%5d",j);count++;if(count==7){printf("\n");count=0;}}printf("\n===================================\n");sum+=month[i];}}int main(){printf("输入您要查找的年份\n");while(scanf("%d",&year)!=EOF){printf("1.输入您要查找的年份\n2.输入0退出\n");find(year);}return 0;}