C 语言课程设计 安徽师范大学物理与电子信息学院 College of Physics and Electronic Information, Anhui Normal University 《 C 语 言 》 课程设计报告 标题:矩阵的构造与打印 学号: 姓名: 同组人员: 年级专业:09电子信息工程 指导老师: 完成日期:2010/6/24 C 语言课程设计报告 安徽师范大学物理与电子信息学院 College of Physics and Electronic Information, Anhui Normal University 1 目录 一、选题思想 二、课题要求 三、课题分析与设计 四、具体分工 五、源程序代码与调试 六、流程图 七、总结 八、参考文献 九、评定意见 C 语言课程设计报告 安徽师范大学物理与电子信息学院 College of Physics and Electronic Information, Anhui Normal University 2 一、选题思想 通过对线性代数与 C 语言课程相关知识的学习,产生了用计算机知识方便快捷地去处理简单数据结构的想法,并进行了相关的设计构想。通过本课题的锻炼,增强对所学知识的理解及相关知识贯通的运用,提升了自我学习实践的兴趣与能力! 二、课题要求 (1)矩阵为 n 阶方阵,n 由键盘输入; (2) 可在螺旋方阵和蛇形方阵中选择(如下图所示)。 三、课题分析与设计 本程序的设计要充分运用所学知识函数调用,二维数组,内存的动态分配,指针等进行设计,问题的关键在于如何进行矩阵的“转向” 1 2 3 4 1 2 1 3 1 4 5 1 1 1 6 1 5 6 1 0 9 8 7 1 3 4 1 0 2 5 9 1 1 6 8 1 2 1 5 7 1 3 1 4 1 6 螺旋方阵 蛇形方阵 C 语言课程设计报告 安徽师范大学物理与电子信息学院 College of Physics and Electronic Information, Anhui Normal University 3 在螺旋矩阵设计中通过记录(计数器)控制每行的数的数目和转向,实现行列互换,“层层推进”,根据 n 的奇偶定出最后一位数(即 n!)的具体位置,从而实现数的螺旋循环。在蛇形矩阵中通过行列坐标之和的递增规律,以对角线元素行列坐标之和为界,通过坐标和的奇偶互换行列坐标从而实现“转向”。通过判断数n 与对角线元素坐标和的大小,跨过“对角线”,进行类似操作即可。 四、具体分工 在程序的设计过程中进行了明确的分工与合作,第一部分螺旋矩阵的设计由王一朝完成,第二部分蛇形矩阵的设计由王艳辉完成。 五、源程序代码与调试 1 . 源程序代码 #include #i...