C语言之万年历

来源:互联网 发布:昆明到大理 汽车 知乎 编辑:程序博客网 时间:2024/05/01 14:25

经朋友提醒,把大学以来开始的编写的代码整理一下,记入博文中来纪念一下鄙人的成长。程序不甚完美,欢迎批评指导。

#include <stdio.h>int year,month;int leap(int year){    if((year%4==0&&year%100!=0)||year%400==0)return(366);elsereturn(365);}int monthday(int month){    if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)return(31);else if(month==4||month==6||month==9||month==11)return(30);else if(leap(year)==366&&month==2)return(29);elsereturn(28);}int allday(int year,int month){   int i,day=0,m;for(i=1990;i<year;i++)day=day+leap(i);for(m=1;m<month;m++)   day=day+monthday(m);     return(day);}void main(){while(1){   int firstday,k,f;printf("please input year and month\n");  scanf("%d%d",&year,&month);firstday=(allday(year,month)+1)%7;printf("Sun     Mon     Tue     Wed     Thu     Fri     Sat\n");for(k=0;k<firstday;k++)printf("\t");for(f=1;f<=monthday(month);f++){ printf("%d\t",f);if((f+firstday)%7==0)printf("\n");}printf("\n");}}

这是我这辈子的第一个有点规模的代码……