- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言课程设计-矩阵的构造与打印.doc
《 C 语 言 》
课程设计报告
标题:矩阵的构造与打印
学号:
姓名:
同组人员:
年级专业:09电子信息工程
指导老师:
完成日期:2010/6/24
目录
一、选题思想
二、课题要求
三、课题分析与设计
四、具体分工
五、源程序代码与调试
六、流程图
七、总结
八、参考文献
九、评定意见
一、选题思想
通过对线性代数与C语言课程相关知识的学习,产生了用计算机知识方便快捷地去处理简单数据结构的想法,并进行了相关的设计构想。通过本课题的锻炼,增强对所学知识的理解及相关知识贯通的运用,提升了自我学习实践的兴趣与能力!
二、课题要求
(1)矩阵为n阶方阵,n由键盘输入;
(2) 可在螺旋方阵和蛇形方阵中选择(如下图所示)。
三、课题分析与设计
本程序的设计要充分运用所学知识函数调用,二维数组,内存的动态分配,指针等进行设计,问题的关键在于如何进行矩阵的“转向” 在螺旋矩阵设计中通过记录(计数器)控制每行的数的数目和转向,实现行列互换,“层层推进”,根据n的奇偶定出最后一位数(即n!)的具体位置,从而实现数的螺旋循环。在蛇形矩阵中通过行列坐标之和的递增规律,以对角线元素行列坐标之和为界,通过坐标和的奇偶互换行列坐标从而实现“转向”。通过判断数n与对角线元素坐标和的大小,跨过“对角线”,进行类似操作即可。
四、具体分工
在程序的设计过程中进行了明确的分工与合作,第一部分螺旋矩阵的设计由王一朝完成,第二部分蛇形矩阵的设计由王艳辉完成。
五、源程序代码与调试
1. 源程序代码
#includestdio.h
#includemalloc.h
#includestring.h
#includestdlib.h
void main()
{
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);
}
}
int menu()
{
int i;
clrscr();
textcolor(85);
gotoxy(9,10);
cprintf( welcome to using our software \n);
gotoxy(9,11);
cprintf( **************Menu************\n);
gotoxy(9,12);
cprintf( * 1. use *\n);
gotoxy(9,13);
cprintf( * 2. no *\n);
gotoxy(9,14);
cprintf( ******************************\n);
gotoxy(9,15);
cprintf( Please Enter Your Choice1~2:);
scanf(%d,i);
return(i);
}
int *wyz(int n)
{
int *str,i,j,b,k,q,m,z,r,p,g,sum,max,h;
clrscr();
sum=0;
max=n*n;
str=(int *)malloc(max+max);
for(q=0,j=1,b=0,z=i=n-1,g=0;sumn*n-1;b++,q++,z=z-2)
{
for(m=q;m=i-b;m++,j++)
str[m+b*n]=j;
for(m=m-1,r=1+b;r=n-1-
您可能关注的文档
最近下载
- 顶管专项施工方案(土压平衡-专家意见修改版).doc VIP
- 2025福建新华发行(集团)有限责任公司三明分公司会计岗位招聘考试参考题库附答案解析.docx VIP
- 中学教学设施设备配备标准资料.pdf VIP
- 项目范围管理交流材料.ppt VIP
- T_MCYX 005-2024 茉莉花茶茶艺技术规程 (盖碗泡饮法).docx VIP
- 艺术品市场与投资-一位艺术品投资顾问的介绍.pptx VIP
- 秦汉单元教学设计.docx VIP
- 山西省忻州市偏关县2024届六年级下学期小升初精选语文试卷含答案.doc VIP
- 2025福建新华发行(集团)有限责任公司三明分公司会计岗位招聘考试备考题库及答案解析.docx VIP
- 轨道列车司机(城市轨道交通列车司机)五级培训班练习题.docx VIP
文档评论(0)