- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言课程设计2010281217汤斌斌“万年历”
C语言课程设计
班 级: 1021
学 号:2010281217
姓 名: 汤斌斌
1 .该程序的功能。
1设计编写一个C程序—“万年历”。
2输入任一年将显示出该年的所有月份日期,对应的星期。
3 下一行显示星期,从周日到周六,
4 下一行开始显示日期从1号开始,并按其是周几实际情况与上面的星期数垂直对齐。
5 月份:中文英文都可以,注意闰年情况。
2.对问题的分析理解
2.1 要输入任一年显示出该年的所有月份日期,应该先设计具体的输出格式,如下:
the calendar of the year2008.
January
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
February
Sun Mon Tue Wed Thu Fri Sat
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29
=============================================
厖厖e
2.2 判断是不是闰年 (year%4!=0||year%100==0year%400!=0)满足条件就是平年,把一年中的所有月份分为四类(28,29,30,31)。
2.3 求出一年中的第一天是周几 (year +(year-1)/4-(year-1)/100+(year-1)/400)%7。
2.4 有指针数组存放十二个月的英文和星期的英文缩写。
2.5 用FOR循环输出各月份的日历
3. 采用的算法(流程图)
4.算法中涉及的知识点
4.1 定义整型,字符型,指针变量,字符型数组和指针数组。数组的初始化和引用和指针的使用。
4.2 函数的定义、声名、调用以及函数的返回值。
4.3 程序的三种基本结构:顺序,选择,循环。if语句的嵌套,for语句的嵌套。
4.5 赋值语句的使用。
4.6 输入(scanf)输出(printf)函数的应用。
4.7 算术运算符、关系运算符和逻辑运算符的应用。
6.结论
6.1 经过运行和调试得到了想要的结果—“万年历”,任意输入一个年份能按当初设计的格式输出每个月份的日历。
6.2 对C语言在编写程序时的用处有了更明确的认识,懂得了编写C程序的一般法方步骤。最大的收获是,编写程序时一定要有信心和勇气,要相信自己一定可以把这个程序编写出来。分析问题做出算法,想好思路,在心里有个大致的框架,然后按部就班的记下自己想到的每一点内容,把写下的东西认真整理,查缺补漏,把一些细节的地方补上,就这样一个貌似很难的程序就写出来了(其实编程并不难,关键是要投入,要钻到里面去)。下一步就是读程序了,读程序时一定要小心仔细,一条语句一条语句的读,看是否能输出自己想要输出的结果,如果发现错误要马上改过来,再接着向下读,直到把程序调试的完美无缺为至。
7.源代码
#includestdio.h
int judge(int year,int month)/*定义一个函数,把月分为四类(28,29,30,31)*/
{
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12)
return(1);/*31天的月份,返回值为1*/
else if(month==2)
{
if(year%4!=0||year%100==0year%400!=0)
retu
文档评论(0)