万年历查询程序 功能要求: (1)提供菜单方式选择 (2)输入年份、月份、日期,计算得到的是这一天
计算得到的这一天是星期几吗?? 还是?/* welcome to use the WanNianLi system! */#include#includechar* month_str[]={"January","February","March","April","May","June","July","August","September","October","November","December"}; char* week[]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; i...全部
计算得到的这一天是星期几吗?? 还是?/* welcome to use the WanNianLi system! */#include#includechar* month_str[]={"January","February","March","April","May","June","July","August","September","October","November","December"}; char* week[]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}; int leap (int year)//判断闰年 { if(year%4==0&&year0!=0||year@0==0) return 1; else return 0; }int month_day(int year,int month) //判断这一个月有多少天{ int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31}; //初始化每个月的天数if(leap(year)&&month==2 ) return 29; else return(mon_day[month-1]); }int firstday(int year,int month,int day)//判断这一个月的第一天是星期几 {int c=0; float s; int m; for(m=1;mc=c month_day(year,m); c=c day; s=year-1 (float)(year-1)/4 (float)(year-1)/100 (float)(year-1)/400-40 c; return ((int)s%7); } int PrintAllYear(int year)/*print the all year*/ { int a,b; int i,j=1,n=1,k; for(k=1;k{ j=1,n=1; b=month_day(year,k); a=firstday(year,k,1);printf("
%s(%d)
",month_str[k-1],k); printf(" Sun Mon Tue Wed Thu Fri Sat
**************");if(a==7) { for(i=1;i { printf("M",i); if(i%7==0) { printf("**************
**************"); } } } if(a!=7) { while (j { printf(" "); j ; } for(i=1;i { printf("M",i); if(i==7*n-a) { printf("**************
**************"); n ; } } } printf("**************
"); }return 1;}int main(){int option,da; char ch; int year,month,day; while(1) { printf("
请选择你所需要的服务:
"); printf("
输入1求某个日期对应的星期"); printf("
输入2结束程序
"); scanf("%d",&option); switch(option) { case 1: while(1) { printf("
Please input the year,month and day(XXXX,XX,XX):"); scanf("%d,%d,%d,%c",&year,&month,&day); da=firstday(year,month,day); printf("
%d-%d-%d is %s,do you want to continue?(Y/N)",year,month,day,week[da]); fflush(stdin); scanf("%c",&ch); if(ch=='N'||ch=='n') break; } break; case 2: fflush(stdin); printf("Are you sure?(Y/N)"); scanf("%c",&ch); if(ch=='Y'||ch=='y') exit(0); break; default: printf("
Error:Sorry,there is no this service now!
"); break; } } return 0;}。
收起