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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

骑士游历骑士巡游C语言课程设计Word格式.docx

1、3.2 系统测试与调试 3第4章 源代码 6第5章 课程设计心得 9第6章 参考文献 10第1 章 课程设计内容及要求 运行程序设置一个8行8列的棋盘,在国际象棋的原则下,任意的输入一个存在的点,这个被视为骑士(马)的初始位置,让马通过这个点走完棋盘上的每一个点,并且不重复。在对已经走过的路线里,采用标志矩阵进行记录。标志矩阵的引入利用了数据的线性存储。这个称为骑士游历算法。 本课程设计所采用的计算机语言是C语言,所使用的软件是使用比较普遍的Microsoft Visual C+ 软件。第2章 功能的说明与实现 2.1 程序功能模块 总共分为三个模块,分别是创建棋盘模块,位置设置模块和显示结果

2、模块 1.创建棋盘模块:此时我们使用矩阵设计一个模拟的棋盘。其关键代码如下:int f1111 ; /*定义一个矩阵来模拟棋盘*/int adjm121121; /*于上述棋盘,标志矩阵*/void creatadjm(void) /*创建标志矩阵函数声明*/void mark(int,int,int,int); /*将标志矩阵相应位置置1*/void travel(int,int); /*巡游函数声明*/int n,m; /*定义矩阵大小及标志矩阵的大小*/ 2.位置设置模块:输入任意一个在8行8列棋盘中的一个点,其格式表示为:m n (m表示行,n表示列)。 3.显示结果模块:将起始位置设

3、定好了,将在这个模拟棋盘中用数字显示马走过的每一步。2.2 程序功能模块图总共有三个模块,如下图所示: 图2.21第3章 程序功能的具体实现3.1 主函数main()的执行流程1.运行了主函数main()之后,马上执行了菜单,输入了行列数, 在这里我们采用的是8行8列的棋盘2.执行流程图,如下所示 是 否 再 是 否 次 运 行 图3.113.2 系统测试与调试1.程序代码的输入和运行 新建C文件并输入代码到工作界面当中,仔细检查,运行代码,如下图所示,图3.2-1表示程序的输入和运行,图3.2-2表示运行出错:图3.21图3.222.程序代码的调试 经过老师和同学的讨论,自己上网查阅资料,修

4、改了程序出错的地方,是由于自己的粗心,忘记写入标点符号,这才导致了错误,然后又仔细的检查了一遍程序,程序运行成功,没有错误了。图3.2-33 程序的显示结果 在命令窗口中输入了棋子的不同起点,运行都成功了。如下图所示:图3.2-4 以(2,3)为起点图3.2-5 以(4,5)为起点图3.2-6 以(6,6)为起点第4章 源代码#include /*定义一个矩阵来模拟棋盘*/*标志矩阵,即对于上述棋盘,依次进行编号*/void creatadjm(void); /*创建标志矩阵函数声明*/*主函数*/int main() int i,j,k,l; printf(Please input size

5、 of the chessboard: ); /*输入矩阵的大小值*/ scanf(%d,&n); m=n*n; creatadjm(); /*创建标志矩阵*/ puts(The sign matrix is: for(i=1;i=m;i+) /*打印输出标志矩阵*/ for(j=1;j0)|(j0) /*对骑士位置的判断*/=n;i+) /*棋盘矩阵初始化*/j+) fij=0; k=0; /*所跳步数计数*/ travel(l,k); /*从i,j出发开始巡游*/The travel steps are:i+) /*巡游完成后输出巡游过程*/ %4d,fij); /*为再次巡游输入起始位置

6、*/n Press any key to quit. getchar(); return 0;/*创建标志矩阵子函数*/void creatadjm() int i,j;i+) /*巡游矩阵初始化*/i+) /*标志矩阵初始化*/ adjmij=0;i+) if(fij=0) /*对所有符合条件的标志矩阵种元素置1*/ fij=1; if(i+2=n)&(j+1=1) mark(i,j,i+2,j-1); if(i-2=1)&=n) mark(i,j,i-2,j+1);=1) mark(i,j,i-2,j-1); if(j+2(i+1=1) mark(i,j,i-1,j+2); if(j-2=

7、n) mark(i,j,i+1,j-2);=1) mark(i,j,i-1,j-2); return;/*巡游子函数*/void travel(int p,int r) int i,j,q; if(fijr) fij=0; /*棋盘矩阵的置r时,置0*/ r=r+1; /*跳步计数加1*/ i=(p-1)/n)+1; /*还原棋盘矩阵的横坐标*/ j=(p-1)%n)+1; /*还原棋盘矩阵的纵坐标*/ fij=r; /*将fij做为第r跳步的目的地*/ for(q=1;qq+) /*从所有可能的情况出发,开始进行试探式巡游*/ i=(q-1)/n)+1; j=(q-1)%n)+1; if(a

8、djmpq=1)&(fij=0) travel(q,r); /*递归调用自身*/*赋值子函数*/void mark(int i1,int j1,int i2,int j2) adjm(i1-1)*n+j1(i2-1)*n+j2=1; adjm(i2-1)*n+j2(i1-1)*n+j1=1;第5章 课程设计心得 通过两个星期对骑士游历这个程序的分析,我对C语言这门课程有了进一步的巩固,对我们现在学的数据结构(C语言版)的知识有了一个很好的回顾和掌握,我的在这个过程中我也知道自己能力的不足,在面对问题的时候更应该要请教老师和同学,自己也可以动手查阅资料。我们不单是要提高自己的理论能力,还要多去实践,这样我们就能够更好的提高自己。第6章 参考文献1 谢希仁. 计算机网络(第五版)M. 北京:电子工业出版社,2008年2月2 胡小强 计算机网络M 北京:北京邮电大学出版社2005年1月3 严蔚敏 李冬梅 吴伟民 数据结构(C语言版)M 人民邮电出版社,2011年2月

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

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