c语言-万年历程序.doc

上传人:自*** 文档编号:126235669 上传时间:2020-03-23 格式:DOC 页数:4 大小:41.95KB
返回 下载 相关 举报
c语言-万年历程序.doc_第1页
第1页 / 共4页
c语言-万年历程序.doc_第2页
第2页 / 共4页
c语言-万年历程序.doc_第3页
第3页 / 共4页
c语言-万年历程序.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《c语言-万年历程序.doc》由会员分享,可在线阅读,更多相关《c语言-万年历程序.doc(4页珍藏版)》请在金锄头文库上搜索。

1、#include #include char* month_str=January,February,March,April,May,June,July,August,September,October,November,December; char* week=Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday; int IsLeapYear(int year) /*find out the year is leap year or not*/ if(year%4=0&year%100!=0)|(year%400=0) /这里是判

2、断是否是闰年的 return 1; /如果是闰年就返回值1 else return 0;/不是的话返回0 int month_day(int year,int month) /这个函数用来判断这年的月分有多少天的 int mon_day=31,28,31,30,31,30,31,31,30,31,30,31; if(IsLeapYear(year)&month=2) /*判断是判断是否是闰年,如果是闰年而且这个月是2月那这个月有29天*/ return 29; else return(mon_daymonth-1); int DaySearch(int year,int month,int d

3、ay) /*这个函数是计算输入的日期对应的星期*/ int c=0; float s; int m; for(m=1;mmonth;m+) c=c+month_day(year,m); /这是计算输入的月分的累计天数 c=c+day; /计算日期在这一年中是第几天 s=year-1+(int)(year-1)/4+(int )(year-1)/100+(int)(year-1)/400-40+c; /*这是计算日期对应的星期公式,这个公式可在网上查到*/ return (int)s%7); /与上语句同属计算日期对应的星期 int PrintAllYear(int year)/*这个函数是用来

4、输出全年的日历*/ int temp; int i,j; printf(nn%d Calandern,year); for(i=1;i=12;i+) printf(nn%s(%d)n,month_stri-1,i); /输出月分名称 printf(0 1 2 3 4 5 6 n); printf(S M T W T F S nn); temp=DaySearch(year,i,1); for(j=1;j=month_day(year,i)+temp;j+) if(j-temp=0) printf( ); else if(j-temp10) printf(%d ,j-temp); else pr

5、intf(%d ,j-temp); if(j%7=0) printf(n); return 0; int main() int option,da; char ch; int year,month,day; printf(Copyright 2005 TianQian All rights reserved!:):):); printf(nnWelcome to use the WanNianLi system!n); while(1) printf(nPlease select the service you need:n); /用来提示选择执行功能 printf(n1 Search wha

6、t day the day is); /选择1时,用来计算这一天是星期几 printf(n2 Search whether the year is leap year or not); /计算是否这年是闰年 printf(n3 Print the calander of the whole year); /输入全年的日历 printf(n4 Exitn); /选择退出程序 scanf(%d,&option); switch(option) /用来选择执行 case 1: while(1) printf(nPlease input the year,month and day(XXXX,XX,X

7、X):); /提示输入 scanf(%d,%d,%d,%c,&year,&month,&day); /读入数据 da=DaySearch(year,month,day); /调用DaySearch()函数来计算是星期几 printf(n%d-%d-%d is %s,do you want to continue?(Y/N),year,month,day,weekda); fflush(stdin); /刷新输入缓冲区 scanf(%c,&ch); if(ch=N|ch=n) break; break; case 2: /*当为2时,进行相应运算*/ while(1) printf(nPleas

8、e input the year which needs searched?(XXXX); scanf(%d,&year); if(IsLeapYear(year) printf(n%d is Leap year,do you want to continue?(Y/N),year); else printf(n%d is not Leap year,do you want to continue(Y/N)?,year); fflush(stdin); scanf(%c,&ch); if(ch=N|ch=n) break; break; case 3: /*当为3时运行相应的运算*/ whil

9、e(1) printf(nPlease input the year which needs printed(XXXX); scanf(%d,&year); PrintAllYear(year); printf(nDo you want to continue to print(Y/N)?); fflush(stdin); scanf(%c,&ch); if(ch=N|ch=n) break; break; case 4: fflush(stdin); printf(Are you sure?(Y/N); scanf(%c,&ch); if(ch=Y|ch=y) exit(1); break; default: printf(nError:Sorry,there is no this service now!n); break; return 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号