ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:20.48KB ,
资源ID:22597055      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22597055.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言程序设计Word格式文档下载.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言程序设计Word格式文档下载.docx

1、每 4年(3个平年+1个闰年)共208周+5天 注意这个“5天” 每百年共100*(208周+5天)-1天=5217周+5天 注意这个“5天”(整百年暂设为平年) 每400年共4*(5217周+5天)+1天(整400年闰)=20871周+0天注意这个“0天”和“1天”(4个整百年只有一个闰年) 即400年一轮回!(原来万年历400年前是一家)【二】根据万年历以上特点进行编写:首先对万年历年、月、日进行编写,编写程序先定义每月的天数为28天,如月份为1、3、5、7、8、10、12就定义天数为31天反之如果月份为4、6、9、11就输出天数为30天,由上可见2月份为28天但是如果为闰年就有29天就要

2、定义另一个函数#define Year(x) (x%4=0&x%100!=0|x%400=0) ? 1:0当为闰年时可得1加上该程序便可得到每月的天数。 具体程序见(五、万年历程序)再对其中的星期进行编写:由于公元1月1日设为星期六,故3月1日为星期三,可以用万年3月1日星期算法(特别是那个三)由于其公式为:某年3月1日星期几=(3天+百年%4*5天+年/4*5天+年%4+月星期表+日-1天)%7某年3月1日星期几=(百年%4*5天+年/4*5天+年%4+月星期表+日+2天)%7或 某年3月1日星期几=(百年%4*5天+年+年/4+月星期表+日+2天)%7 闰4百年3月1日星期算法(百年%4=

3、0) 其公式为:某年3月1日星期几=(年+年/4+月星期表+日+2天)%7 例:0000年3月1日星期几=(0+0/4+0+1+2)%7=3%7=星期三 1600年3月1日星期几=(0+0/4+0+1+2)%7=3%7=星期三 2000年3月1日星期几=(0+0/4+0+1+2)%7=3%7=星期三 2001年3月1日星期几=(1+1/4+0+1+2)%7=4%7=星期四 2004年3月1日星期几=(4+4/4+0+1+2)%7=8%7=星期一 2008年3月1日星期几=(8+8/4+0+1+2)%7=13%7=星期六 2042年3月1日星期几=(42+42/4+0+1+2)%7=55%7=星

4、期六 平4百年3月1日星期算法(百年%46 即2027年元旦是星期六2018年春节 16日=(18+18/4+16+2)%7=(18+4+16+2)%7=5 2月表=0(平年) 故 0+5=5 即2018年春节是星期五2099年12月31日 31日=(99/4*5+99%4+31+2)%7=(120+3+33)%7=2 12月表=2(平年) 故 2+2=4 即2099年12月31日是星期四对于上面的分析以及公式的推论和计算证明可以对万年历中的星期进行了编写具体编写程序见(五 、万年历程序)中。五 、万年历源程序#includestdio.h dos.hconio.hstdlib.h#defin

5、e Year(x) (x%4=0&0 /*判断闰年*/int numofMonth(int y,int m) int day,t=28;if(m=1|m=3|m=5|m=7|m=8|m=10|m=12) day=31; /*定义以上月份为31天*/else if(m=4|m=6|m=9|m=11) day=30; /*定义以上月份为30天*/elset+=Year(y);day=t; /*闰年二月29天,平年28天*/return day; int numofYear(int y) int t=365; /*平年365天*/t+=Year(y);/*闰年366天*/return t;int n

6、umofbeforeDays(int y,int m,int d) int sum=d,i;for(i=1;im;i+) sum+=numofMonth(y,i);return sum;int numofafterDays(int y,int m,int d) int sum=0,i;for(i=m;=12;sum-=d;int isDay(int y,int m,int d) int year=1900,month=1,week=1,i; /*定义万年历是从1900年开始*/long sum=0;for(i=year;y;sum+=numofYear(i);/* +sum;*/ i=sum%

7、7;week=(week+i)%7;return week;void empty(int n) int i;for(i=0;n;printf(%*c,6, );void OutPutCalender(int y,int m,int d)/*计算x年x月x是星期几*/ int week,i,num,t;week=isDay(y,m,1);%6d/%02d/%02dn,y,m,d);%6s%6s%6s%6s%6s%6s%6sn,SunMonTueWedThuFriSatempty(week);num=numofMonth(y,m);=num;i+) %6d,i);t=(week+i)%7;if(t

8、=0) n /*光标移到下一行*/long numBTDays(int y1,int m1,int d1,int y2,int m2,int d2)/*定义两个不同日期*/ for(i=y1+1;y2;if(y1=y2) sum-=d1;for(i=m1;m2;sum+=numofMonth(y1,i);sum+=d2;elsesum+=numofafterDays(y1,m1,d1);sum+=numofbeforeDays(y2,m2,d2);int Select_mean() int sm;1. OutPut Calendern /*输出当前月份的日历*/2. Helpn /*帮助*/0

9、. Quitn /*退出*/Please enter choose(0-2): /*从0-2中选择*/do scanf(%d,&sm); /*输入sm*/while(sm3);return sm;void Help()/*输出帮助栏的内容*/ 1. OutPut Calendern 2. System Helpn 0. QuitnPage Up: Up yearn /*上一年*/Page Down: next yearn /*下一年*/ - : next monthn /*上一月*/ 8;if(inkeySCAN=77) if(month=12)month=1;year1+;OutPutCal

10、ender(year1,month,day);/*输出日历*/ elsemonth+; if(inkeySCAN=75) if(month=1)month=12;year1-;elsemonth-;if(inkeySCAN=73) if(year1=1900) year1=year;elseyear1-;if(inkeySCAN=81) if(inkeySCAN=28)break;break; /*终止循环*/case 2:Help();case 0:exit(0);default:Enter ERROR! 六 运行过程2. 在光标处按下“1”后回车,将会显示:以上的显示也证明了条件的第2条可

11、以“显示星期!”3. 在光标处按下“2”后回车,将会显示:按着帮助所讲进行了运行可知:按“ Page Up ”键其下面接着会显示上一年该月的万年历,按“ Page Down ”键其下面会接着显示下一年该月的万年历;按“ ”键下面将会接着显示当年上一个月的万年历,按“ ”键将会接着在下面显示去下一个月的万年历。4. 由上所显示键入“0”后将会退去该程序。七、心得体会 万年历的编写过程中我们体会到了做事情一定要细心、认真。更加知道了要掌握好基础知识。还有体会到了成功的感觉!在万年历的设计过程中更加体会到了团队合作的重要性,“一个诸葛亮比不上三个臭皮匠。”知道了只有团队合作才会更好的完成设计!也体会

12、到以后在工作中团队合作的必要性和重要性!通过本项课程设计也培养了我独立思考、 综合运用所学有关相应知识的能力,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!在这次课程设计中也知道了自己的动手能力不强有待进一部的提高! 也知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但是在设计过程中也学习了很多,掌握了自己以前没有学好的知识,虽然一时可以掌握完以前没有学好的知识,不过也给自己敲响了警钟,在学习中不可以伏于表面,要想学好每一门课程都要踏踏实实,做什么都不是给别人看的!都是要更好的掌握该门知识,提高自己的自身的修养,提高自己的能力!为以后的工作打下良好的知识基础和技能基础!八、附录职务学号姓名工作组长200902013401阙小花程序编写组员200902013439李继淼程序测试与调试200902013426郑泽龙页面设置与布局参考文献资料与索引名编著者出版社C语言程序设计向 华清华大学出版社C程序设计第二版谭浩强

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1