用C编写一个程序求奇数幻方

上传人:汽*** 文档编号:430729032 上传时间:2023-07-04 格式:DOC 页数:3 大小:114.50KB
返回 下载 相关 举报
用C编写一个程序求奇数幻方_第1页
第1页 / 共3页
用C编写一个程序求奇数幻方_第2页
第2页 / 共3页
用C编写一个程序求奇数幻方_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《用C编写一个程序求奇数幻方》由会员分享,可在线阅读,更多相关《用C编写一个程序求奇数幻方(3页珍藏版)》请在金锄头文库上搜索。

1、一、实验目的1. 调研并熟悉幻方的基本功能、数据流程与工作规程; 2. 学习与幻方相关的参考资料和基于C+集成环境的编程技术; 3. 通过实际编程加深对基础知识的理解,提高实践能力; 4. 学习开发资料的收集与整理,学会撰写课程设计报告。二、实验问题描述幻方就是一个方阵,有着自己的规则和定义。幻方可分为奇阶幻方和偶阶幻方,同时偶阶幻方又可以分为双偶阶和单偶阶(所谓双偶阶就是指N能被4整除,单偶阶就是指能被2整除但不能被4整除)。奇阶幻方比偶阶幻方简单一些(这次实验只讨论奇数幻方)。幻方的规则就是它每一行和每一列的和及两条对角线的和要相等,每列,每行,每条对角线的和称之为幻和。这样你排出来的才叫

2、幻方,否则没有条理,那样就没有意义了。幻方中所排的数就是从1开始到N的平方结束。【幻方要运用到数组的知识、循环体结构等知识。】三、实验步骤1、实验问题分析1:这次实验所用到的数据结构是二维数组。2:这方面使用二维数组aMAXMAX来静态存储不超过MAX行MAX列的数组方阵,其中n(12*n+1100)为满足条件的数。3:首先,输入一个数字n(12*n+1100),则输出对应的n阶魔方阵,并输出每一行、每一列、每条对角线上各个数字累加和。使用二维数组输出幻方阵,用函数实现相应的功能。输入形式:数字n(12*n+1100)。输出形式:(1)以矩阵形式输出n(12*n+1100)阶魔方阵;(2)输出

3、每一行、每一列、每条对角线上各个数字累加和。2、功能(函数)设计主要使用与实现如下函数:int main()函数,主函数,n为奇数实现n阶魔方阵,实现思想如下;a.在1到num的数字中,选择1开始填充魔方,将数字1填入第一行的中间方格中,即(0,(n-1)/2)的位置。b.向已填充的前一个数字位置(i,j)的左上角(i-1,j-1)填入下一个数字,如果出现以下情况,则修改填充位置:i)若填充位置超出上边界,则修改为下边界的相应位置,即把i-1修改为j-1;ii)若填充位置超出左边界,则修改为最右边的相应位置,即把i-1改为n-1;iii)若填充位置已有数字,则填充位置修改为下一行的同一位置。c

4、.重复以上步骤,直至将num个数字全部填入魔方中。四、实验结果(程序)及分析1、实验主要代码:#includeint a101101;int main() int n;coutn; int i=0,j=(n-1)/2;aij=1; for(int num=2;num=n*n;num+) -i;-j;if(i=0) i=n-1;else if(i=0 & j0) j=n-1;if(i0 & j0) i+=2;+j;aij=num;cout这个n阶幻方为:endl;for(int hang=0;hangn;hang+) for(int lie=0;lien;lie+) coutahanglie ;coutendl;return 0;2、测试数据与输出:3、调试过程中出现的问题以及解决策略: :遇见的问题开始把数组ann定义在主函数main()内,则出现了以下错误 :解决策略 查阅资料(上网、参考书),找出解决方案,修改程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 销售管理

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号