《C语言程序》课程设计报告书-魔方阵程序设计.docVIP

 《C语言程序》课程设计报告书-魔方阵程序设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
 《C语言程序》课程设计报告书-魔方阵程序设计

吉林工程技术师范学院 《C语言程序》课程设计报告书 设计题目: 魔方阵程序设计 专 业: 计算机科学与技术 班级: 1054 学生姓名: 学号: 21 指导教师:xx 2011年1月 信息工程学院 摘 要 我的实验题目是对C语言程序设计——魔方阵的编写,主要的功能是实现每一行,每一列以及对角线的相加结果相同,而且每一个数字均不相等。 本次实验能够充分的考核我们对C语言的学习程度以及动手操作能力,对我们提高C语言的能力有极大的帮助,所以这次实验也是十分有必要的。 我的设计内容就是利用循环语句,以及判断条件等函数的合理使用,通过不断的运行,调试,输出,对本程序进行合理的解决,对魔方阵进一步的了解掌握。 关键字:C语言 魔方阵 程序设计 目 录 摘 要 第章 第章 分析2.1 技术分析 2.2 功能分析 第章 总体设计与详细设计第章 编码实现第章 调试总结参考资料附录: 1源代码2 附图 14 概述 本次实验报告十分有意义,对巩固C语言的学习有很大的帮助。 作用:我的实验课题是魔方阵(魔方阵是一个奇数行列式方一行,一列,对角线的和都相等 第2章 系统分析 2.1 技术分析 我设计的程序从魔方阵的判断语句入手,利用循环语句进行判断,利用scanf输入函数对数据进行输入,然后对输入的数据进行判断,在利用If,else语句进行判断,然后利用循环语句进行循环,建立魔方,判断数据的位置,最后进行输出。 软件系统采用Turbo C2.0作为题目的设计平台,在这个平台上进行程序的调试。 2.2 功能分析 我设计的程序包括的功能有很多,主要是数据的输入,判断,建立魔方,判断条件,输入魔方等功能。 本程序能够对C语言的知识得到合理的运用,对语句的判断是一个极大的考核,也能锻炼我的思维能力,逻辑能力,动手能力等。 通过本次实验;对于提高C语言函数,语句以及程序的编写都有极大的帮助。 第3章 总体设计与详细设计 3.1 系统总体设计 就是使用模块化思维方法分析课题,画出模块结构图。可采取自顶向下、逐层分解的方法,将课题分成有若干个模块,然后对各模块重点和难点内容进行分析,最终各个击破。 1.设计流程图 系统总体结构图如3-1所示。 以输入“3”输出为例: 图3-1 总体设计流程图 2.包含的功能 本系统包括了数据的输入,运行,判断,调试,输出等功能。 3.2 详细设计 # include stdio.h void main() {int a[16][16],i,j,k,p,n; // 一堆定义 p=1; while(p==1) // p 是一个标志,专门用来控制何时跳出while { printf(enter n:); //读入一个整数到n 就是幻方的阶数。 scanf(%d,n); if ((n!=0)(n=15)(n%2!=0)) p=0; //如果输入的数=1 且=16 且是奇数,就跳出while,继续以下计算。 //如果不满足以上条件就死循环。 } for (i=1;i=n;i++) for (j=1;j=n;j++) a[i][j]=0; 将矩阵中的1~n*1~n的范围内清0. i=1; j=n/2+1; a[i][j]=1; i=1; // 开始填1,在第一行的中间 for (k=2;k=n*n;k++) { i=i-1;j=j+1; // 依次填 2,3......一直到填满 // 规则是当前数填在上个数的右上。 if ((i1)(jn)) {i=i+2;j=j-1; } // 但是如果到达矩阵的最右上时,要改为 // 填在最右上的下边一格。 else { if ( i1 ) i=n; // 如果上一个数在最右边界, // 那么当前数的X坐标设成最左边。 // 好像一个席子卷起来,左边和右边相接。 // 最右边填完了就接到最左边继续填 if ( jn ) j=1; // 纵向方向同理 } If (a[i][j]==0) a[i][j]=k; 如果当前没有数,就填入 else { i=i+2;j=j-1

文档评论(0)

vdi938 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档