《C 语言》
课程设计报告
标题:矩阵的构造与打印
学号:
姓名:
同组人员:
年级专业:09电子信息工程指导老师:
完成日期:
目录
一、选题思想
二、课题要求
三、课题分析与设计
四、具体分工
五、源程序代码与调试
六、流程图
七、总结
八、参考文献
九、评定意见
一、选题思想
通过对线性代数与C语言课程相关知识的学习,产生了用计算机知识方便快捷地去处理简单数据结构的想法,并进行了相关的设计构想。通过本课题的锻炼,增强对所学知识的理解及相关知识贯通的运用,提升了自我学习实践的兴趣与能力!
二、课题要求
(1)矩阵为n阶方阵,n由键盘输入;
(2) 可在螺旋方阵和蛇形方阵中选择(如下图所示)。
三、课题分析与设计
本程序的设计要充分运用所学知识函数调用,二维数组,内存的动态分配,指针等进行设计,问题的关键在于如何进行矩阵的“转向”在螺旋矩阵设计中通过记录(计数器)控制每行的数
的数目和转向,实现行列互换,“层层推进”,根据n的奇偶定出最后一位数(即n!)的具体位置,从而实现数的螺旋循环。在蛇形矩阵中通过行列坐标之和的递增规律,以对角线元素行列坐标之和为界,通过坐标和的奇偶互换行列坐标从而实现“转向”。通过判断数n与对角线元素坐标和的大小,跨过“对角线”,进行类似操作即可。
四、具体分工
在程序的设计过程中进行了明确的分工与合作,第一部分螺旋矩阵的设计由王一朝完成,第二部分蛇形矩阵的
设计由王艳辉完成。
五、源程序代码与调试
1. 源程序代码
c++课程设计报告#include<stdio.()
{
int a,n,*w,p,g,j;
int *wyz(int n);
int wyh(int n);
int menu();
j=menu();
if(j==1) exit(0);
else
{clrscr();
printf("please choose 1 or 2:1 for spial matrix,2 for serpent matrix:");
scanf("%d",&a);
if(a==1)
{printf("please enter n ");
scanf("%d",&n);
w=wyz(n);
for(p=1,g=0;g<=n*n-1;g++,p++)
{
printf("%4d",w[g]);
if(p%n==0){ printf("\n");printf("\n");printf("\n");}}} else
wyh(n);
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。