《C语言程序》课程设计报告书-魔方阵程序设计.doc

上传人:椰子壳 文档编号:3259314 上传时间:2019-08-06 格式:DOC 页数:18 大小:140.03KB
返回 下载 相关 举报
《C语言程序》课程设计报告书-魔方阵程序设计.doc_第1页
第1页 / 共18页
《C语言程序》课程设计报告书-魔方阵程序设计.doc_第2页
第2页 / 共18页
《C语言程序》课程设计报告书-魔方阵程序设计.doc_第3页
第3页 / 共18页
《C语言程序》课程设计报告书-魔方阵程序设计.doc_第4页
第4页 / 共18页
《C语言程序》课程设计报告书-魔方阵程序设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《《C语言程序》课程设计报告书-魔方阵程序设计.doc》由会员分享,可在线阅读,更多相关《《C语言程序》课程设计报告书-魔方阵程序设计.doc(18页珍藏版)》请在三一文库上搜索。

1、吉林工程技术师范学院C语言程序课程设计报告书设计题目: 魔方阵程序设计 专 业: 计算机科学与技术 班级: 1054 学生姓名: 学号: 21 指导教师:xx 2011年1月信息工程学院摘 要我的实验题目是对C语言程序设计魔方阵的编写,主要的功能是实现每一行,每一列以及对角线的相加结果相同,而且每一个数字均不相等。本次实验能够充分的考核我们对C语言的学习程度以及动手操作能力,对我们提高C语言的能力有极大的帮助,所以这次实验也是十分有必要的。我的设计内容就是利用循环语句,以及判断条件等函数的合理使用,通过不断的运行,调试,输出,对本程序进行合理的解决,对魔方阵进一步的了解掌握。关键字:C语言 魔

2、方阵 程序设计I目 录摘 要第1章 概述1第2章 系统分析22.1 技术分析22.2 功能分析2第3章 总体设计与详细设计33.1 系统总体设计33.2 详细设计4第4章 编码实现64.1 数据输入部分代码设计64.2 运算部分代码设计64.3 输出部分代码设计7第5章 系统调试95.1 程序运行结果95.2 调试过程中的问题与对策10第6章 设计总结10参考资料12致谢12附录:1 源代码132 附图1415信息工程学院 C语言课程设计报告第1章 概述本次实验报告十分有意义,对巩固C语言的学习有很大的帮助。作用:我的实验课题是魔方阵(魔方阵是一个奇数行列式方阵),主要是实现一行,一列,对角线

3、的和都相等。意义、帮助:1、能够熟练掌握if、ifelse、ifelse if语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句实现分支选择结构。2、能够熟练掌握while语句和for语句格式及使用方法,掌握循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。3、能够掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。第2章 系统分析2.1 技术分析我设计的程序从魔方阵的判断语句入手,利用循环语句进行判断,利用scanf输入函数对数据进行输入,然后对输入的数据进行判断,在利用If,else语句进行判

4、断,然后利用循环语句进行循环,建立魔方,判断数据的位置,最后进行输出。软件系统采用Turbo C2.0作为题目的设计平台,在这个平台上进行程序的调试。2.2 功能分析我设计的程序包括的功能有很多,主要是数据的输入,判断,建立魔方,判断条件,输入魔方等功能。本程序能够对C语言的知识得到合理的运用,对语句的判断是一个极大的考核,也能锻炼我的思维能力,逻辑能力,动手能力等。通过本次实验;对于提高C语言函数,语句以及程序的编写都有极大的帮助。第3章 总体设计与详细设计3.1 系统总体设计就是使用模块化思维方法分析课题,画出模块结构图。可采取自顶向下、逐层分解的方法,将课题分成有若干个模块,然后对各模块

5、重点和难点内容进行分析,最终各个击破。1设计流程图系统总体结构图如3-1所示。以输入“3”输出为例:定义a1616,i,j,k,p,n初始化从键盘输入3判断3是否不等于0小于16 是否为奇数 真假P=1继续循环while退出while运行循环语句结束死循环输出魔方阵图3-1 总体设计流程图2包含的功能本系统包括了数据的输入,运行,判断,调试,输出等功能。3.2 详细设计# include void main()int a1616,i,j,k,p,n; / 一堆定义 p=1; while(p=1) / p 是一个标志,专门用来控制何时跳出whileprintf(enter n:); /读入一个整

6、数到n 就是幻方的阶数。 scanf(%d,&n); if (n!=0)&(n=1 且=16 且是奇数,就跳出while,继续以下计算。/如果不满足以上条件就死循环。 for (i=1;i=n;i+) for (j=1;j=n;j+) aij=0; 将矩阵中的1n*1n的范围内清0.i=1; j=n/2+1; aij=1;i=1; / 开始填1,在第一行的中间 for (k=2;k=n*n;k+) i=i-1;j=j+1;/ 依次填 2,3.一直到填满 / 规则是当前数填在上个数的右上。 if (in) i=i+2;j=j-1; / 但是如果到达矩阵的最右上时,要改为 / 填在最右上的下边一格

7、。 else if ( in ) j=1;/ 纵向方向同理 If (aij=0) aij=k;如果当前没有数,就填入 else i=i+2;j=j-1; aij=k; / 如果当前已经有数占领了,就填到上一个数的下边。/* 如果要看的清楚,就每填一个就打印一次。 for(i=1;i=n;i+) for (j=1;j=n;j+) printf(%4d,aij); / 循环打印结果。 printf(nn);return 0; 这个模块实现了数据的定义,以及定义的类型,数据的初始化。第4章 编码实现 4.1 数据输入部分代码设计我的实验输入部分利用了for语句,也就是循环语句。例如:int a161

8、6,i,j,k,p,n; p=1; while(p=1) printf(enter n:); scanf(%d,&n); if (n!=0)&(n=15)&(n%2!=0) p=0; for (i=1;i=n;i+) for (j=1;j=n;j+) aij=0; i=1; j=n/2+1; aij=1; for (k=2;k=n*n;k+) 4.2 运算部分代码设计我的实验运算部分利用了if 、else语句也就是判断语句。例如:if (in) i=i+2;j=j-1; else if ( in ) j=1; if (aij=0) aij=k; else i=i+2;j=j-1; aij=k;

9、 4.3 输出部分代码设计我的实验运算部分利用了printf语句也就是使用了函数。例如:for(i=1;i=n;i+) for (j=1;j=n;j+) printf(%5d,aij);printf(nn); return 0;第5章 系统调试 5.1 程序运行结果系统经过多次调试、运行、修改,通过后的运行界面如图5-1所示。图5-1 程序运行结果图1当输入的数据是3时,输出的结果如图5-2所示。2当输入的数据是5时,输出的结果如图5-3所示。 图5-2 数据为3时运行结果图 图5-3 数据为5时运行结果图5.2 调试过程中的问题与对策1问题(1)首先是自己在指法上还不行,经常按错字母,通过学

10、习也有所改进;(2)再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉(3)还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,(4)对语言中所出现的错误以及提示信息不能够完全理解(5)对dos下的抓屏技术不够全面。(6)缺乏耐心,仔细的品质,意志力不够坚强,电脑的程序软件出现错误,影响做题质量。2对策通过老师的辅导以及自己的反复调试,检查,再加上上网对dos下抓屏的自学,历经种种磨难将本次实践做成功总之,在实验过程中体现了许多的毛病和不足,我一定会积极改正,吸取教训,对c语言的学习充满希望!第6章 设

11、计总结经过一个星期的上机实践学习,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它。通过实践的学习,让我掌握了魔方阵的编程方法,本次实验也让我达到了实验的目地,不但将老师留得任务完美的完成,也对C语言更深的掌握,了解。魔方阵的那个判断条件得到掌握,总体来说这次实验让我收获颇多,对C语言的函数语句得到进一步的掌握,谢谢王老师给我们为您大家这次难得的机会!课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无

12、处不在。因此作为二十一世纪的大学来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整十天的日子里,可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,6理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重

13、重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体,指针通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。我做的是魔方阵课程设计,虽然是很简单的一个小的程序,但对我来说却是一个很大的困难,主要是那个判断条件。更加是第一次做课程设计,所以第一天上午在机房做了很久却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。一开始在纸上编程,后来经过反

14、复研究读程,终于开始正式在电脑上编程。编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强迫自己坚持下去,按照老师所说的内容和给的要求,分步的进行编写。而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。所以认真仔细就是非常重要的了。开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多错误和漏洞,不过还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C语言的一次实践作业,自

15、己进步的证明。通过这次课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解,通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习C语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去

16、制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!参考文献1 乌云高娃等.C语言程序设计.北京:高等教育出版社,2007.72 吴婷等.C语言答疑解惑与典型题解.北京:邮电大学出版社,2010.53 谭浩强.C语言程序设计.北京:清华大学出版社,2000.14 谭浩强.C程序设计试题汇编.北京清华大学出版社,2004.95 谭浩强.C程序设计.北京清华大学出版社,2005.96 李春葆.C语言习题解答.北京:清华大学出版社,2002.5致 谢通过这次实验,让我成长了不少,自己

17、也收获了许多,对于C语言的编程有很大的帮助,让我的动手能力得到了提高,让我对未来的语言类课程充满了希望和信心。谢谢王老师能够给我们这次机会,让我们有这个机会实践,王老师张松岩对每个同学都特别耐心,对我在编程过程中遇到问题时耐心辅导,谢谢您!通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。其间开心过、郁闷过、无奈过、彷徨过随着实验的胜利成功与实验报告的胜利完成,有点微微的自豪感使人难忘。感谢王少华/老师,您的高标准、严要求,感谢实验课上同学们们的耐心指点,也感谢我在实验中经历过的点点滴滴伴随着学习的深入,我发现高深的东西还有很多很多,等待着我自己去挖掘。对C语

18、言,我会更加努力。附录1源代码# include void main()int a1616,i,j,k,p,n; p=1; while(p=1) printf(enter n:); scanf(%d,&n); if (n!=0)&(n=15)&(n%2!=0) p=0; for (i=1;i=n;i+) for (j=1;j=n;j+) aij=0; i=1; j=n/2+1; aij=1; for (k=2;k=n*n;k+) i=i-1;j=j+1; if (in) i=i+2;j=j-1; else If ( in ) j=1; if (aij=0) aij=k; else i=i+2;

19、j=j-1; aij=k; for(i=1;i=n;i+) for (j=1;j=n;j+) printf(%5d,aij); printf(nn); return 0; 2附图开始运行的界面:输入3后的运行结果:输入5后的运行结果:ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvS

20、r4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtg

21、PkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0v

22、mZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7

23、nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUN

24、XJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9s

25、z4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1