- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
魔术方阵问题﹝冲突STEVEN-PC2006-08-0308-39-58﹞
魔术方阵 魔术方阵意义: 往一个n为奇数的n×n的魔术方阵中填入1到n2的整数,能使其各列、 各行及对角线之和皆相等。 魔术方阵形成的步骤——例 例如有一5×5的方阵,其形成魔术方阵的步骤如下,并以上述(1)、(2)、(3)、(4)规则来说明: 魔术方阵形成的步骤——例 例如有一5×5的方阵,其形成魔术方阵的步骤如下,并以上述(1)、(2)、(3)、(4)规则来说明: 魔术方阵形成的步骤——例 例如有一5×5的方阵,其形成魔术方阵的步骤如下,并以上述(1)、(2)、(3)、(4)规则来说明: 魔术方阵形成的步骤——例 例如有一5×5的方阵,其形成魔术方阵的步骤如下,并以上述(1)、(2)、(3)、(4)规则来说明: 魔术方阵——程序段 /* file name : OddMagic.c Description : ODD Magic Matrix Implementation 奇数魔术方阵实例 */ ? #include stdio.h #define MAX 15 /*矩阵最大为15×15 */ int Square[MAX][MAX]; /*定义整数矩阵*/ int N; /*矩阵行列大小变量*/ 魔术方阵——程序段(续1) void Magic(); void main() { int i,j; ? /*读取魔术矩阵的大小N,N 为奇数且0 = N = 15 */ do { printf(\nEnter odd matrix size : ); scanf(%d,N); if ( N % 2 == 0 || N= 0 || N 15) printf(Should be 0 and 15 odd number); else 魔术方阵——程序段(续2) break; } while (1); ? Magic(); /*将square 变为N×N的魔术矩阵*/ /*显示魔术矩阵结果*/ printf(\nThe %d*%d Magic Matrix\n,N,N); printf(-------------------------\n); for ( i = 0; i N; i++ ) { for ( j = 0; j N; j++ ) printf(%3d,Square[i][j]); printf(\n); } } 魔术方阵——程序段(续3) void Magic() { int i,j,p,q,key; ? /*初始化矩阵内容,矩阵全部清0 */ for ( i = 0; i N; i++ ) for ( j = 0; j N; j++ ) Square[i][j] = 0; ? Square[0][(N -1) /2] = 1; /*将1放至最上列中间位置*/ key = 2; i = 0; j = (N-1) / 2; /* i,j记录目前所在位置*/ 魔术方阵——程序段(续4) while ( key = N*N ) { p = (i-1) % N; /* p,q为下一步位置,i,j各减1表往西北角移动*/ q = ( j-1) % N; /* p 0 (超出方阵上方)*/ if ( p 0 ) p = N - 1; /* 则将p 移至N-1(最下列)*/ if ( q 0 ) q = N - 1; /* q 0(超出方阵左方)*/ /* 则将q 移至N –1(最右行)*/ if ( Square[p][q] != 0 ) /*判断下一步是否已有数字*/ i = (i + 1) % N; /*已有则 i 往下,填在原值下方*/ else { i = p; /*将当前位置移到下一步位置 */ 魔术方阵——程序段(续5) j = q; } Square[i][j] = key; key++; } } 输出结果: Enter odd matrix size : 5
您可能关注的文档
- 高考物理课件︰力与运动知识点.ppt
- 高考物理第一轮总复习课件︰实验二.ppt
- 高考生物一轮复习课件:专题三、四细胞的基本结构与物质运输﹝必修1﹞.ppt
- 高考研讨会专家讲座教学课件扈之霖.ppt
- 高考理综复习﹝一﹞上课基本介绍.pptx
- 高考物理复习策略﹝二﹞.pptx
- 高考生物总复习题型冲刺复习课件︰题型一曲线类答题模板.ppt
- 高考生物二轮﹒三轮复习课件专题三第二讲.ppt
- 高考物理复习策略﹝一﹞.pptx
- 高考第一轮复习﹝浙江﹞——相互作用力.ppt
- 武汉学院《微生物生理学》2023-2024学年第一学期期末试卷.doc
- 浙江省温州市乐清市2024-2025学年小升初数学综合练习卷含解析.doc
- 贵州省贵阳市第二中学2024年高三下学期联合考试语文试题含解析.doc
- 山东商务职业学院《织行为学》2023-2024学年第一学期期末试卷.doc
- 海南大学《数字化设计》2023-2024学年第一学期期末试卷.doc
- 晋城职业技术学院《视听说(朝鲜语)(三)》2023-2024学年第二学期期末试卷.doc
- 泰山学院《可靠性技术》2023-2024学年第一学期期末试卷.doc
- 广西蒙山县一中2023-2024学年高三第三次测评英语试卷含解析.doc
- 江南大学《证据法学B》2023-2024学年第二学期期末试卷.doc
- 云南师范大学《区域地质调查学》2023-2024学年第一学期期末试卷.doc
文档评论(0)