您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 趣味矩阵C语言课程设计
C语言程序设计目录1设计内容与设计要求........................................11.1系统的基本功能........................................11.2系统的设计要求........................................11.3系统维护..............................................12系统需求分析..............................................12.1系统设计目标..........................................12.2系统设计分析..........................................23系统的实现................................................24程序调试..................................................55总结......................................................6附件:源程序清单.............................................711系统的功能框架设计1.1系统的基本功能首先让我介绍一下矩阵。在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。进行C语言编程中,通过简单的程序设计便可实现矩阵的一系列操作,如矩阵的转置,矩阵对角线上的求和,矩阵左下角、右下角、左上角、右上角的输出,还有回旋矩阵的应用等等,具有很强的观赏性与可观性,并且对于初学者来说,是不可不注重的一种练习方式,而且还有一定的娱乐性。1.2系统的设计要求系统通过C语言课程编写须实现以下几个要求:(1)通过VisualC++软件实现对矩阵的一系列操作,如矩阵左下角、右下角、左上角、右上角的数据输出,输出9×9乘法口诀,显示出的矩阵形式。(2)实现回旋矩阵的显示形式。(3)实现对称矩阵数组的显示形式。1.3系统维护该功能模块为用户提供维护、设置功能。在相应的设置模块中用户可以自行设置系统的数据,设置完成以后该设置立刻会在系统中生效,并在下一次的使用中反映出来。在这里,数据维护非常重要的,它的作用是将系统中用户选择的数据进行初始化,一旦操作完成,系统中原有的数据将会被全部删除,所以需慎重使用。2系统需求分析2.1系统设计目标(1)该系统设计主要针对于矩阵的定义、形式,应用C语言编程进行编辑,编译,链接,运行等步骤,实现矩阵各种形式的展现,达到趣味性和娱乐性的目标。(2)在应用简单的程序设计,既通过简单的程序运用得到所学知识的简单2实践,又在一定程度上为自己的程序设计的提高奠定的一定的基础。(3)要求在执行一个具体的功能时,能够让程序显示出主菜单。并且菜单美观、大方、简洁、实用。2.2系统设计分析如利用C语言编程设计矩阵或者方阵的展现,则可进行下述的分析:(1)实现9×9乘法方阵的编写过程中,首先要考虑一下,数字之间的间距问题,应用printf函数%3d形式来限制宽度;其次严格控制好for循环语句,对输入输出的数据进行处理,并显示完每行之后用printf(”\n”)进行换行处理。(2)实现9×9乘法方阵左下角、右下角、左上角、右上角的显示输出时,通过行列变量i,j,并通过for循环控制语句,尤其注意的是空格的处理。(3)实现回旋矩阵和对称矩阵的显示处理时,采用for语句循环嵌套对其进行处理。3系统的实现进入编程页面过程中,输入9×9乘法方阵,VisualC++编程系统经过编辑,编译,链接,运行。会出现以下对话框,选择1时,如图3-1所示:图3-1九九乘法表方阵3选择2时,输出左上角,如图3-2所示:图3-2九九乘法表左上角进入编程界面,MicrosoftVisualC++经过编辑,编译,链接,运行等操作,会弹出以下对话框。选择3时,则输出左下角,如图3-3所示:图3-3九九乘法表左下角进入编程界面,MicrosoftVisualC++经过编辑,编译,链接,运行等操作,会弹出以下对话框,选择4时,则输出右下角,如图3-4所示:4图3-4九九乘法表右下角进入编程界面,MicrosoftVisualC++经过编辑,编译,链接,运行等操作,会弹出以下对话框,选择5时,则输出右上角,如图3-5所示:图3-5九九乘法表右上角4程序调试在调试过程中出现了一些错误,比如:5(1)对于数据个数,没有采取宏定义法,如#defineN100。(2)函数的实参与形参类型不匹配,此时如果能符合赋值转换的,则由系统进行赋值转换;不能进行赋值转换的,则系统编译时提示出错信息;不合适的类型转换。(3)运用for循环语句时,对空格输出地控制,没有引用变量k,进行处理。(4)输出采用printf函数,对数字进行宽度的控制,如%3d的处理。5总结对于此次的报告设计,主要针对于所学知识并进行简单的设计,达到学以致用的目的,由于时间仓促,加之小组成员能力有限,未能编出较好的程序,仅能编写出初级的程序,望指导老师谅解,在此我们提出抱歉,希望老师批评之余并加以指导,给出合理的评断,我谨代表我们小组感谢老师的热情指导,我们会耐心听取老师的指导,并虚心向学,进一步提高我们的水平,并争取最大程度的提高与进步。谢谢!通过这次设计,我懂得了学习的重要性,懂得了理论与实践相结合的意义,并且深有体会,而且我们经常会犯眼高手低的毛病,不懂得实践之道,这一点我觉得是所欠缺的,今后一定改正之,程序有纰漏,还望老师见谅。附件:源程序清单#includestdio.hvoidfun(intn){inti,j,k;switch(n){case1:for(i=1;i=9;i++){for(j=1;j=9;j++)printf(%3d,i*j);printf(\n);}break;case2:6for(i=1;i=9;i++){for(j=1;j=i;j++)printf(%3d,i*j);printf(\n);}break;case3:for(i=1;i=9;i++){for(j=1;j=10-i;j++)printf(%3d,i*j);printf(\n);}break;case4:for(i=1;i=9;i++){for(k=0;k=3*(i-1);k++)printf();for(j=i;j=9;j++)printf(%3d,i*j);printf(\n);}break;case5:for(i=1;i=9;i++){for(j=1;j=3*(9-i);j++)printf();for(k=10-i;k=9;k++)printf(%3d,i*k);7printf(\n);}break;}}voidredo(){inti,j,n;printf(@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n);printf(*############趣味矩阵############*\n);printf(************************************\n);printf(*1-输出九九乘法表*\n);printf(*2-输出左下角*\n);printf(*3-输出左上角*\n);printf(*4-输出右上角*\n);printf(*5-输出右下角*\n);printf(************************************\n);printf(************************************\n);printf(\n欢迎进入C语言课程编辑界面:\n);printf(\n请选择你的选项:\n);scanf(%d,&n);if(n=0&&n=5){fun(n);printf(%3d,i*j);redo();}else{printf(GoodBye!:\n);8}}voidmain(){redo();};
本文标题:趣味矩阵C语言课程设计
链接地址:https://www.777doc.com/doc-2044084 .html