geekdoc-python-zh/docs/overiq/116.md

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/)

* * *

* * *