c语言课程设计报告数独_第1页
c语言课程设计报告数独_第2页
c语言课程设计报告数独_第3页
c语言课程设计报告数独_第4页
c语言课程设计报告数独_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言课程设计报告设计名称C语言课程设计专业班级姓名学号指导教师实习时间成绩一、设计目的2.二、设计内容3.三、详细设计说明4.四、软件使用说明6.五、设计总结(课程设计心得与体会)8六、附录1:参考文献9.七、附录2:部分程序清单(带有较详细的注释)10八、教师评语13一、设计目的通过课程设计的实践环节的教学,可以加深学生对课堂所学基础知识的掌握与理解, 提高学生对所学内容的综合运用能力; 同时也可以通过查询相关资料,培养学生自学能力、接受新知识的能力,提高学习兴趣;增强学生程序设计能力, 掌握编程技巧, 并可培养学生实际上机调试程序的能力。“理论与实践”相结合,使学生得到很好的锻炼,为以后

2、学习、工作打下坚实的基础。每个学生需要独立完成教师安排的设计题目或由学生自拟实际的设计题目, 但自拟自拟题目须经指导教师批准方可生效。:、设计内容1、开发一款“数独”小游戏(限最多1人完成)规则:将数字1-9放置在每个小格里,使得每一行、没一列、每一个3*3的方框里都没有重复的数字即可。要求:(1)、字符界面完成即可(图形界面更好,有加分)(2)、可以没有表格线(3)、原有的36个数字及位置随机产生,原有数字越多,游戏越简单。可以由用户输入原有数字的个数,以控制游戏难度;(4)、其它空格处的数字由玩家从键盘输入,当输入的某个数字违背了规则,则游戏以失败结束,显示“Failure!;当所有空格处

3、数字均已经填上,并且没有违背规则,则游戏以成功结束,显示“Success!。825638751489171537284978557248715782三、详细设计说明1.数独小游戏说明数独游戏在9X9的方格内进行,分为3M的小方格,被称为区”区数独游戏的目的是根据下列规则用1至9之间的数字填满空格,一个格子只能填入一个数字。每个数字在每一行只能出现一次。每个数字在每一列只能出现一次。每个数字在每一区只能出现一次1产生原始数字:由系统产生若干数字(181),作为游戏的原始数字供玩家进行数独游戏2退出系统:用户填完数独,系统判断正误,然后退出系统.2.数独游戏流程图四、软件使用说明1)系统要求:wi

4、n98以上操作系统;2)语言平台:tc+或vc+6.0;运行程序看到如下界面:匚FrocraaFllesXIiccosoltTisualStudioMyFrejectsjhljTXIctucjhly.|FrocraaFllesXIiccosoltTisualStudioMyFrejectsjhljTXIctucjhly.|输入数据始强嗷数嗷嗷数数薮数-个个个个LNLN999999999999999999&内向勺勺勺勺勺勺勺rt一丁一丁_丁一丁_丁_T T_丁_丁一丁案123456789123456789数FAFAA A *J*J尸”人没有薮据的用9 9代替。Q Q20808020808

5、01 1aQaQ78047804目0505。日3 30404Q Q3?003?000500005000G G0 02069400206940000809060080906070104070104M M0000Q Q4 4? ?0 0H H运行结果QWicr02ft7iuI58dMyPnQject5qngvrJebLg,gngvn.eeAAAAteWE上后主日主旧ItD一藜接数数数.TTTTnrnr tata- - -a a-,二fifi二. .h=h=- -丁-T-T-丁-丁-一丁5 5t t7 7s9s9了.甘02969490296949的1 1AaASAAA6AaASAAA62H7(J1U

6、42H7(J1U4 展1 1个填法为.735246735246199199b b81813y3y7 72b b4 49241586739241586730 0 347391347391S S479S13862479S138625128694375128694371479851479852 22G2GZ9673Z96731 15485483BU6243BU6247 7?1?1PreseanrkeytocontrxinuePreseanrkeytocontrxinue五、设计总结(课程设计心得与体会)通过第18周这个星期的程序设计, 我从中得到了许多的经验以及软件设计的一些新的思路;从数独游戏的设

7、计以及分析中,本人从中理解到了数据结构对于计算机软件设计的重要性,它的使用,可以改变一个软件的运行周期,也可以将软件的思路从繁化简,并且都能够通过数据结构的相关引导,将本身以前编程思想进行扩充,发展;这也是在这次课程设计中我所获益的地方。随着时间的推移,课程设计也即将结束了,但这个学期数据结构的学习还是具有相当大的意义,它从一个程度上改变了我们的编程思想,如何将一个程序快速而又准备的进行编写,进行编译,都成为了我们思考的重点,也通过这一个学期的学习,我们将数据结构的思想带入到了我们以后的编程学习中去。在这个阶段,我也明白了,好的思想,不能提留于字面上的认知,还需要的是平时多练多写一些相关的程序

8、,并且通过修改,加入新的算法去尝试改变自己的一些编程思想。保持更新算法的速度,这才是关键。课程设计已经接近尾声了,但它给我的不只是程序设计上的满足,更重要的是对自己编程思想的一次更新,以及对算法的一个全新的认识!六、附录1:参考文献1谭浩强.C程序设计(第三版).北京:清华大学出版社,20052谭浩强.C程序设计题解与上机指导(第三版).北京:清华大学出版社,20053刘振安,刘燕君,孙忱.C+皓言课程设计.北京:高等教育出版社,20034陈志泊,张海燕,王春玲.VisualC+程序设计.中国铁道出版社,20055吕凤哲,C+语言程序设计(第二版).北京:电子工业出版社,20056殷人昆,陶永

9、雷等.数据结构(用面向对象方法与C+).北京:清华大学出版社,19997严蔚敏,吴伟民,数据结构.北京:清华大学出版社,19978李春葆.数据结构一考研指导.北京:清华大学出版社,20029陈慧南.数据结构一C+语言描述.北京:人民邮电出版社,七、附录2:部分程序清单(带有较详细的注释)intresult=0;/结果数(inta99;for(inti=0;i9;i+)printf(请输入第d行的9个数:,i+1);for(intj=0;j9;j+)scanf(%d,&aij);printf(数独的解为:nn);Sudoku(a,0);if(result=0)printf(此数独无解!)

10、;return0;输出可行的解voidprint(inta99)boolcheck(inta99,inti,intj,intk)intm,n;判断行for(n=0;n9;n+)if(ain=k)returnfalse;判断列for(m=0;m9;m+)if(amj=k)returnfalse;判断所在小九宫格intt1=(i/3)*3,t2=(j/3)*3;for(m=t1;mt1+3;m+)for(n=t2;nt2+3;n+)if(amn=k)returnfalse;可行,返回truereturntrue;数独求解函数voidSudoku(inta99,intn)inttemp99;inti,j;for(i=0;i9;i+)for(j=0;j9;j+)i=n/9;j=n%9;/求出第n个数的行数和列数if(aij!=0)/已经有原始数据if(n=80)是最后一个格子,输出可行解print(temp);else/怀是最后一个格子,求下一个格子Sudoku(temp,n+1);)else/股有数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论