2.6 KiB
2.6 KiB
C 程序:相加两个矩阵
原文:https://overiq.com/c-examples/c-program-to-add-two-matrices/
最后更新于 2020 年 9 月 23 日
下面是一个 C 程序,它要求用户输入两个矩阵,然后将它们相加。
/******************************************
* Program to add two add matrices
******************************************/
#include<stdio.h> // include stdio.h
#define ROW 2
#define COL 3
int main()
{
int i, j, arr1[ROW][COL], arr2[ROW][COL];
printf("Enter first matrix: \n");
for(i = 0; i < ROW; i++)
{
for(j = 0; j < COL; j++)
{
scanf("%d", &arr1[i][j]);
}
}
printf("\nEnter second matrix: \n");
for(i = 0; i < ROW; i++)
{
for(j = 0; j < COL; j++)
{
scanf("%d", &arr2[i][j]);
}
}
printf("\narr1 + arr2 = \n");
// add two matrices
for(i = 0; i < ROW; i++)
{
for(j = 0; j < COL; j++)
{
printf("%5d ", arr1[i][j] + arr2[i][j]);
}
printf("\n");
}
// signal to operating system everything works fine
return 0;
}
预期输出:
Enter first matrix:
1 2 3
4 5 6
Enter second matrix:
2 4 6
8 10 12
arr1 + arr2 =
3 6 9
12 15 18
它是如何工作的
要加或减矩阵,我们只需分别加或减每个矩阵中相应的条目。
\左(\ begin { array } { cc } A _ { 11 }&A _ { 12 } \ \ A _ { 21 }&A _ { 22 } \ end { array } \右)+\左(\ begin { array } { cc } B _ { 11 }&B _ { 12 } \ \ B _ { 21 }&B _ { 22 } \ end { array } \右)= \左(\ begin array { cc } A _ { 11 }
请注意,只有当两个矩阵大小相同时,矩阵加法或减法才是可能的。
以下是上述程序的工作原理:
* 第 15-22 行的第一个 for 循环要求用户输入第一个矩阵。
* 第 26-33 行的第二个 for 循环要求用户输入第二个矩阵。
* 第三个 for 循环(第 38-45 行)通过在每个矩阵中添加相应的条目来显示结果矩阵。
* * *
**推荐阅读:**
* [C 程序求数组中最大最小元素](/c-examples/c-program-to-find-the-maximum-and-minimum-element-in-the-array/)
* [反转数组元素的程序](/c-examples/c-program-to-reverse-the-elements-of-an-array/)
* [对数组元素求和的程序](/c-examples/c-program-to-sum-the-elements-of-an-array/)
* [C 程序求数组中奇偶元素的个数](/c-examples/c-program-to-find-the-count-of-even-and-odd-elements-in-the-array/)
* * *
* * *