数据结构实验报告3魔方阵

数据结构实验报告3魔方阵

ID:44197199

大小:184.00 KB

页数:5页

时间:2019-10-19

数据结构实验报告3魔方阵_第1页
数据结构实验报告3魔方阵_第2页
数据结构实验报告3魔方阵_第3页
数据结构实验报告3魔方阵_第4页
数据结构实验报告3魔方阵_第5页
资源描述:

《数据结构实验报告3魔方阵》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、救据箱构鸟程唇殺针实验实验报告课程名称数据结构与程序设计实验课程编号0906550实验项目名称魔方阵学号2014061221年级2014姓名马攀专业计算机科学与技术学生所在学院计算机学院指导教师杨静实验室名称地点21B276哈尔滨工程大学实验报告二实验课名称:数据结构•程序设计实验实验名称:魔方阵班级

2、学号

3、姓名

4、时间2016.04.14一、问题描述魔方阵是一个古老的智力问题,它要求在一个mXm的矩阵中填入1〜m的数字(m为奇数),使得每一行、每一列、每条对角线的累加和都相等,如下图所示。五阶魔方阵示例15812417161475232220136432129121092251811二、

5、数据结构设计木实验使用二维数组作为数据结构三、算法设计1.奇魔方(阶数n=2*m+l,m=1,2,3)规律如下:(1).数字1位于方阵中的第一行中间一列;(2).数字a(l

6、出上方边界,则在最下边相对应的位置填入下一个数字;b.左上角超出左边边界,则在最右边相应的位置填入下一个数字;c.如果按上述方法找到的位置已填入数据,则在同一列下一•行填入下一个数字。(3).以3X3魔方阵为例,说明其填数过程,如下图所示。(g)Ob)17*2.15Xr3.2:'46'X1324CO・6-'75.3.24(h)6-1s732▼少4-(i)三阶魔方阵的牛:成过程由三阶魔方阵的生成过程可知,某一位置(x,y)的左上角的位置是(x-l,y-l),如果x-1^0,不用调整,否则将其调整为x-1+m;同理,如果y-l>0,不用调整,否则将其调整为y-1+mo所以,位置(x,y)的左

7、上角的位置可以用求模的方法获得,即:x=(x-l+m)%my=(y-l+m)%m如果所求的位置已经有数据了,将该数据填入同一列下一行的位置。这里需要注意的是。此时的x和y已经变成Z前的上一行上一列了,如果想变回Z前位置的下一行同一列,X需要跨越两行,y需要跨越一列,即:x=(x+2)%my=(y+l)%m1.程序实现(1).输入魔方阵阶数并判断intn;for(;;){printfC'W输入魔方阵的阶数(为奇数且人于0小于100):");scan&n);if(n%2!=0&&n>0&&nv100)break;elseprintfC,输入错误,请重新输入・“);}(2).根据算法构造魔

8、方阵inta[100][100];for(inti=0;i

9、(包括错误判断),输出结果,均在执行过程中给出提示。五、运行测试与分析1.获取阶数并给岀错误提示阴新阶新阶卜、A-m-^'l-x-nl-rN》亘,日亘,日阵方,方,方魔误魔误魔A

10、过程屮巩固了学习的知识,在用c语言实现魔方阵算法吋对c语言的使用更加熟悉。七、附录(原程序)#includeintmain(){intn;for(;;){printfC请输入魔方阵的阶数(为奇数且大于0小于100):H);scanf(”%cT,&n);if(n%2!=0&&n>0&&nv100)break;elseprintfC'输入错误,请重新输入.'n'*);}〃构造魔方阵inta[100][100];for(

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

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

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