《C编程技巧:117个问题解决方案示例 》 —3.10 对两个矩阵求和

举报
华章计算机 发表于 2020/02/12 15:33:38 2020/02/12
【摘要】 本节书摘来自华章计算机《C编程技巧:117个问题解决方案示例 》 一书中第3章,第3.10节,作者是希里什·查万(Shirish Chavan),卢涛 译。

3.10 对两个矩阵求和

问题

你想要对两个矩阵求和。

解决方案

图3-6说明了矩阵的加法。编写一个C程序,求两个矩阵A和B的和,使得A+B=C(C也是一个矩阵),使用以下规格说明:

程序要求用户输入矩阵的秩(即矩阵中的行数和列数)。

程序接受两个矩阵A和B的数据。只要矩阵具有相同的行数和列数,就可以相互相加或相减。

在程序中,定义三个函数:input(),output()和add()。函数input()接受来自键盘的数据,用于矩阵A和B。函数output()在屏幕上显示矩阵A、B和C。函数add()执行矩阵A和B的求和并填充矩阵C中的值。

 image.png

图3-6 矩阵加法

代码

以下是使用这些规格说明编写的C程序的代码。在文本编辑器中键入以下C程序,并将其保存在文件夹C:\Code中,文件名为summat.c:

 image.png

image.png

编译并执行此程序。这个程序的运行结果在这里给出:

 image.png

image.png

工作原理

此程序包含两个do-while循环。第一个do-while循环接受行数的整数值,范围为1≤M≤12。第二个do-while循环接受列数的整数值,范围为1≤N≤12。LOC 18和23分别调用函数input()并接受矩阵A和B的数据。LOC 21和26分别调用函数output()并在屏幕上显示矩阵A和B。LOC 27调用函数add(),执行矩阵A和B的求和,并填充矩阵C中的值。LOC 30调用函数output()并在屏幕上显示矩阵C。LOC 34~43定义了函数input()。LOC 44~55定义了函数output()。LOC 56~66定义了函数add()。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。