c语言程序设计报告《万年历》

c语言程序设计报告《万年历》

ID:17897357

大小:51.87 KB

页数:9页

时间:2018-09-09

c语言程序设计报告《万年历》_第1页
c语言程序设计报告《万年历》_第2页
c语言程序设计报告《万年历》_第3页
c语言程序设计报告《万年历》_第4页
c语言程序设计报告《万年历》_第5页
资源描述:

《c语言程序设计报告《万年历》》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《“万年历”》—C语言程序设计报告专业:计算机科学与技术班级:姓名:指导教师:年月日9目录1.设计的任务32.对问题的分析理解33.采用的算法(流程图)54.算法中涉及的知识点65.设计用的计算机环境66结论67.源代码791.设计的任务1.1设计编写一个C程序—“万年历”。1.2输入任一年将显示出该年的所有月份日期,对应的星期。1.3下一行显示星期,从周日到周六,中英文都可以。1.4下一行开始显示日期从1号开始,并按其是周几实际情况与上面的星期数垂直对齐。1.5月份:中文英文都可以,注意闰年情况。2.对问题的分析理解2.1要输

2、入任一年显示出该年的所有月份日期,应该先设计具体的输出格式,如下:thecalendaroftheyear2008.JanuarySunMonTueWedThuFriSat12345678910111213141516171819202122232425262728293031FebruarySunMonTueWedThuFriSat91234567891011121314151617181920212223242526272829=============================================…………

3、2.2判断是不是闰年(year%4!=0

4、

5、year%100==0&&year%400!=0)满足条件就是平年,把一年中的所有月份分为四类(28,29,30,31)。2.3求出一年中的第一天是周几(year+(year-1)/4-(year-1)/100+(year-1)/400)%7。2.4有指针数组存放十二个月的英文和星期的英文缩写。2.5用FOR循环输出各月份的日历93.采用的算法(流程图)输出占六个字节的天数输出六个空格j++,j<7输出星期回车输出月份回车定义整型变year,i=0,j=0,a,n,m=1,k=0和函数

6、judgen=judge(year,i+1),p=month+ii++,i<4定义两个字符型数组,month,week定义一个指针变量**pa=(year+(year-1)/4-(year-1)/100+(year-1)/400)%7输入年份,year开始Nbreak,退出本次循环n==4&&m==30break,退出本次循环n==3&&m==29break,退出本次循环YYn==2&&m==28输出回车(a+m)%7==0NYYm++,m<32k++,k

7、YY94.算法中涉及的知识点4.1定义整型,字符型,指针变量,字符型数组和指针数组。数组的初始化和引用和指针的使用。4.2函数的定义、声名、调用以及函数的返回值。4.3程序的三种基本结构:顺序,选择,循环。if语句的嵌套,for语句的嵌套。4.5赋值语句的使用。4.6输入(scanf)输出(printf)函数的应用。4.7算术运算符、关系运算符和逻辑运算符的应用。5.设计用的计算机环境WindowsXP,Turboc2.0和MicrosoftVisualC++6.06.结论6.1经过运行和调试得到了想要的结果—“万年历”,任意输

8、入一个年份能按当初设计的格式输出每个月份的日历。6.29对C语言在编写程序时的用处有了更明确的认识,懂得了编写C程序的一般法方步骤。最大的收获是,编写程序时一定要有信心和勇气,要相信自己一定可以把这个程序编写出来。分析问题做出算法,想好思路,在心里有个大致的框架,然后按部就班的记下自己想到的每一点内容,把写下的东西认真整理,查缺补漏,把一些细节的地方补上,就这样一个貌似很难的程序就写出来了(其实编程并不难,关键是要投入,要钻到里面去)。下一步就是读程序了,读程序时一定要小心仔细,一条语句一条语句的读,看是否能输出自己想要输出的结

9、果,如果发现错误要马上改过来,再接着向下读,直到把程序调试的完美无缺为至。7.源代码#include"stdio.h"intjudge(intyear,intmonth)/*定义一个函数,把月分为四类(28,29,30,31)*/{if(month==1

10、

11、month==3

12、

13、month==5

14、

15、month==7

16、

17、month==8

18、

19、month==10

20、

21、month==12)return(1);/*31天的月份,返回值为1*/elseif(month==2){if(year%4!=0

22、

23、year%100==0&&year%40

24、0!=0)return(2);/*平年的2月份,返回值为2*/elsereturn(3);/*闰年的2月份,返回值为3*/}elsereturn(4);/*30天的月份,返回值为4*/}main(){intyear,i,j,a,n,m,k;char**p;cha

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。