万年历程序设计报告(万年历程序)
大家好,小讯来为大家解答以上的问题。万年历程序设计报告,万年历程序这个很多人还不知道,现在让我们一起来看看吧!
1、实验名称:万年历的查询及打印 【内容】:设计一个查询并打印万年历的程序。
2、 【步骤】: 1.画出程序流程图; 2.编写程序; 3.调试程序,对调试过程中出现的问题进行分析,找出错误的原因并予改正; 4.写出通过调试并修改正确的原程序。
3、 【要求】: 1.程序运行后,首先在屏幕上显示主菜单: 1.查询某年某月某日是星期几 2.查询某年是否是闰年 3.打印某年的全年日历 4.退出 2.在主菜单中输入1后,显示: “请输入年月日(XXXX,XX,XX)” 运行后输出:XXXX年XX月XX日是星期X,是否继续查询(Y/N)? 如果输入Y,则重新显示“请输入年月日(XXXX,XX,XX)”,否则回到主菜单。
4、 3.在主菜单中输入2后,显示: “请输入要查哪一年?(XXXX)” 运行后输出:XXXX年是(否)是闰年,是否继续查询(Y/N)? 如果输入Y,则重新显示,“请输入要查哪一年?(XXXX)”,否则回到主菜单。
5、 4.在主菜单中输入3后,显示: “请输入要打印的年份(XXXX)” 运行后输出XXXX年的日历,格式为: XXXX X(月数) 0123456 SMTWTFS xxxxxxx xxxxxxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxxx X(月数) 0123456 SMTWTFS xxxx xxxxx xxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxxxxxxx . . . . . 运行完后显示:“是否继续打印(Y/N)?” 如果输入Y,则重新显示,“请输入要打印的年份(XXXX)”,否则回到主菜单。
6、 5.在主菜单中输入4后,显示:“是否要真的退出(Y/N)?” 如果输入Y,结束程序运行,否则重新显示主菜单。
7、 【提示】: 1.闰年计算:满足下列二者之一,是闰年: 能被4整除,但不能被100整除; 能被4整除,且能被400整除。
8、 2.闰年的二月是29天,平年的二月是28天 3.星期几的计算: S=X-1+(X-1)/4+(X-1)/100+(X-1)/400+C X是年份,C是该年从元旦开始到到这一日的天数。
9、 S/7的余数既是星期数 例1:1982年12月26日 由于1982年不是闰年(不能被4整除),所以该年的二月是28天。
10、 C=31+28+31+30+31+30+31+31+30+31+30+26=360 (1月到11月的天数+12月的实际天数) S=1982-1+(1982-1)/4+(1982-1)/100+(1982-1)/400+360=2821.3925 S/7=2821/7=403余数为0,所以该日是星期天。
11、 例2:2000年3月8日 由于2000年是闰年(能被4整除,又能被100和400整除),所以该年的二月是29天。
12、 C=31+29+8=68(1月到2月的天数+3月的实际天数) S=2000-1+(2000-1)/4+(2000-1)/100+(2000-1)/400+68=2551.757 S/7=2551/7=364余数为3,所以该日是星期三。
13、#includeintleap(intyear){if(year%4==0&&year%100!=0||year%400==0)//判断是否是闰年return1;elsereturn0;}intdays_month(intmonth,intyear)//判断大月和小月{if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)//找出大月return31;if(month==4||month==6||month==9||month==11)//找出小月return30;if(month==2&&leap(year)==1)return29;//判断二月是29天还是29天elsereturn28;}intfirstday(intmonth,intyear){intw;w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1;//判断每个月开始的第一天是星期几returnw;}main(){inti,j=1,k=1,a,b,month,year;printf("inputmonthandyear:");scanf("%d%d",&month,&year);//输入月和年b=days_month(month,year);a=firstday(month,year);printf("sunmontuewedthufrisat");//输出对应当月的日历if(a==7){for(i=1;i<=b;i++){printf("%4d",i);if(i%7==0){printf("");}}}if(a!=7){while(j<=4*a){printf("");j++;}...#includeintleap(intyear){if(year%4==0&&year%100!=0||year%400==0)//判断是否是闰年return1;elsereturn0;}intdays_month(intmonth,intyear)//判断大月和小月{if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)//找出大月return31;if(month==4||month==6||month==9||month==11)//找出小月return30;if(month==2&&leap(year)==1)return29;//判断二月是29天还是29天elsereturn28;}intfirstday(intmonth,intyear){intw;w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1;//判断每个月开始的第一天是星期几returnw;}main(){inti,j=1,k=1,a,b,month,year;printf("inputmonthandyear:");scanf("%d%d",&month,&year);//输入月和年b=days_month(month,year);a=firstday(month,year);printf("sunmontuewedthufrisat");//输出对应当月的日历if(a==7){for(i=1;i<=b;i++){printf("%4d",i);if(i%7==0){printf("");}}}if(a!=7){while(j<=4*a){printf("");j++;}for(i=1;i<=b;i++){printf("%4d",i);if(i==7*k-a){printf("");k++;}}}printf("");。
本文到此分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
【首都师范大学是211吗】一、“首都师范大学是211吗”是许多考生和家长在选择大学时经常提出的问题。实际上,...浏览全文>>
-
【首都师范大学科德学院自考和统招毕业证不一样吗有什么不一样的】在选择继续教育方式时,很多学生都会关注“...浏览全文>>
-
【首都师范大学科德学院自考本科国家承认学历吗】一、“首都师范大学科德学院自考本科国家承认学历吗”是许多...浏览全文>>
-
【首都师范大学科德学院怎么样首都师范大学科德学院介绍】首都师范大学科德学院是一所位于北京市的全日制本科...浏览全文>>
-
【第一次电影剧情】《第一次》是一部由美国导演理查德·林克莱特(Richard Linklater)执导的电影,于2004年...浏览全文>>
-
【首都师范大学科德学院学费一年多少钱】首都师范大学科德学院是一所经教育部批准设立的全日制本科独立学院,...浏览全文>>
-
【第一次点外卖的流程】对于第一次尝试点外卖的人来说,整个过程可能会有些陌生。不过,只要按照步骤来,就能...浏览全文>>
-
【首都师范大学科德学院学费为什么要这么贵】首都师范大学科德学院作为一所独立学院,近年来在学费方面引发了...浏览全文>>
-
【第一次登泰山的忌讳】泰山,作为五岳之首,不仅是中国文化的重要象征,也是无数人心中的朝圣之地。对于第一...浏览全文>>
-
【首都师范大学科德学院位于哪个城市】首都师范大学科德学院是一所独立学院,隶属于首都师范大学。对于许多学...浏览全文>>