计算机程序设计基础(C语言)
c++课程设计报告课程设计说明书
设计题目:编写一个函数实现矩阵A(2行3列)与矩阵B (3行2列)相乘,乘积放在C数组中。
班级:
姓名:
学号:
2020年6月
设计任务书
一、需求分析
本题在于输入矩阵A、B的值,然后自己编写一个算法计算矩阵A、B的乘积,并将乘积放入一个新数组C中并输出。
需要合理利用结构体和文件知识(必须使用)。
通过本次任务,要学会结构体和文件的相关知识,合理利用结构体和文件的输入输出,并且要学会利用前面知识自行设计程序。
二、总体设计
对于这个课程设计,首先思考结构体用在何处。了解结构体作用后,只能用结构体表示矩阵的行和列,利用循环for语句进行矩阵数据的输入和输出以及矩阵的乘积算法,同时利用fprintf函数将数据写入文件中。
由于矩阵的乘法没学,不知道原理是什么,就无法写出算法,所以首先上网查了矩阵相乘的相关知识进行学习。然后结构体和文件知识没有学习,所以要自己自学并且上网查相关例子进行类比。设计过程:首先自学相关知识,写一些小程序合理利用结构体和文件知识。然后出矩阵相乘的规律,行列之间相乘该怎么表示,在这里用到了三层for循环语句。首先将核心算法即输入A、B矩阵相乘放入C数组中并输出写出进行调试,无误后再添加文件指针将相关元素写入文件中,最后将行和列用结构体表示,进行多次调试并修改出现的问题,最终得出最后程序。
定义全局变量以及相关变量→用结构体表示矩阵的行和列→定义结构体指针指向行和列→定义文件指针并打开文件→利用scanf和fprintf函数将数据输入并到文件中→编写矩阵相乘算法→将乘积放入数组C中输出并到文件中→关闭文件,完成函数。
三、详细设计
由于本体简单,只用到了一个主函数来计算矩阵的乘积。
全局变量i、j代表数组A、B、C的行和列,m、n代表结构体矩阵的行和列,p1、p2代表指向矩阵的指针,fp代表文件指针,p1、
2.m、n代表指向结构体的行列元素。
四、程序运行结果测试与分析
五、结论与心得
通过本次设计我学到了结构体和文件的知识,了解到处理多种元素的有效解决,存在如何应用结构体知识的问题,后来想到用它来表示行和列得以解决。由于时间关系我还想在一个文件中写入多组数据的功能尚未实现,在日后会了解到更深入一些,完成目标。

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