资源描述:
《c语言课程设计-矩阵的构造与打印》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言课程设计报告《C语言》课程设计报告标题:矩阵的构造与打印学号:姓名:同组人员:年级专业:09电子信息工程指导老师:完成日期:2010/6/24目录一、选题思想21安徽师范大学物理与电子信息学院CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversityC语言课程设计报告二、课题要求三、课题分析与设计四、具体分工五、源程序代码与调试六、流程图七、总结八、参考文献九、评定意见一、选题思想通过对线性代数与C21安徽师范大学物理与电子信息学院Co
2、llegeofPhysicsandElectronicInformation,AnhuiNormalUniversityC语言课程设计报告语言课程相关知识的学习,产生了用计算机知识方便快捷地去处理简单数据结构的想法,并进行了相关的设计构想。通过本课题的锻炼,增强对所学知识的理解及相关知识贯通的运用,提升了自我学习实践的兴趣与能力!二、课题要求(1)矩阵为n阶方阵,n由键盘输入;(2)可在螺旋方阵和蛇形方阵中选择(如下图所示)。12341213145111615610987134102591168121571
3、31416螺旋方阵蛇形方阵三、课题分析与设计本程序的设计要充分运用所学知识函数调用,二维数组,内存的动态分配,指针等进行设计,问题的关键在于如何进行矩阵的“转向”在螺旋矩阵设计中通过记录(计数器)控制每行的数的数目和转向,实现行列互换,“层层推进”,根据n的奇偶定出最后一位数(即n!21安徽师范大学物理与电子信息学院CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversityC语言课程设计报告)的具体位置,从而实现数的螺旋循环。在蛇形矩阵中通过
4、行列坐标之和的递增规律,以对角线元素行列坐标之和为界,通过坐标和的奇偶互换行列坐标从而实现“转向”。通过判断数n与对角线元素坐标和的大小,跨过“对角线”,进行类似操作即可。四、具体分工在程序的设计过程中进行了明确的分工与合作,第一部分螺旋矩阵的设计由王一朝完成,第二部分蛇形矩阵的设计由王艳辉完成。五、源程序代码与调试1.源程序代码#include#include#include#includevoidmain(){inta,n,*
5、w,p,g,j;int*wyz(intn);intwyh(intn);intmenu();j=menu();if(j==1)exit(0);21安徽师范大学物理与电子信息学院CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversityC语言课程设计报告else{clrscr();printf("pleasechoose1or2:1forspialmatrix,2forserpentmatrix:");scanf("%d",&a);if(a==1
6、){printf("pleaseentern");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("");printf("");printf("");}}}elsewyh(n);}}intmenu(){inti;clrscr();textcolor(85);21安徽师范大学物理与电子信息学院CollegeofPhysicsandElectronicInformat
7、ion,AnhuiNormalUniversityC语言课程设计报告gotoxy(9,10);cprintf("welcometousingoursoftware");gotoxy(9,11);cprintf("**************Menu************");gotoxy(9,12);cprintf("*1.use*");gotoxy(9,13);cprintf("*2.no*");gotoxy(9,14);cprintf("************************
8、******");gotoxy(9,15);cprintf("PleaseEnterYourChoice<1~2>:");scanf("%d",&i);return(i);}int*wyz(intn){21安徽师范大学物理与电子信息学院CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversityC语言课程设计报告int*str,i,j,b,k,q