C程序 将两个矩阵相加

  • Post category:C

以下是关于 C 程序如何将两个矩阵相加的完整使用攻略。

1. 知识储备

在学习如何将两个矩阵相加之前,请确保您已经掌握了以下知识:

  • C 语言基本语法
  • 数组的概念和操作
  • 循环语句和条件语句
  • 指针的概念和使用
  • 函数的声明和定义

2. 代码实现

下面是将两个矩阵相加的 C 代码实现:

#include <stdio.h>

void add_matrices(int rows, int cols, int matrix1[rows][cols], int matrix2[rows][cols], int sum[rows][cols]) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            sum[i][j] = matrix1[i][j] + matrix2[i][j];
        }
    }
}

void print_matrix(int rows, int cols, int matrix[rows][cols]) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("%d\t", matrix[i][j]);
        }
        printf("\n");
    }
}

int main() {
    int rows = 2;
    int cols = 3;

    int matrix1[rows][cols] = {
        {1, 2, 3},
        {4, 5, 6}
    };

    int matrix2[rows][cols] = {
        {7, 8, 9},
        {10, 11, 12}
    };

    int sum[rows][cols];

    add_matrices(rows, cols, matrix1, matrix2, sum);

    printf("Matrix 1:\n");
    print_matrix(rows, cols, matrix1);

    printf("Matrix 2:\n");
    print_matrix(rows, cols, matrix2);

    printf("Sum of matrices:\n");
    print_matrix(rows, cols, sum);

    return 0;
}

在上面的代码中,我们使用了两个矩阵 matrix1 和 matrix2,以及一个储存它们和的矩阵 sum。我们创建了一个名为 add_matrices 的函数,该函数将两个矩阵相加,并将结果储存在 sum 中。我们还创建了一个名为 print_matrix 的函数,该函数用于打印矩阵。

最后,我们在主函数中使用这些函数,打印出每个矩阵以及它们的和。

3. 示例说明

接下来,我们将使用两个示例来说明如何使用这段代码。

示例一

我们将使用以下两个矩阵:

matrix1 = {
    {1, 2, 3},
    {4, 5, 6}
}
matrix2 = {
    {7, 8, 9},
    {10, 11, 12}
}

在这种情况下,两个矩阵的和如下所示:

sum = {
    {8, 10, 12},
    {14, 16, 18}
}

我们可以通过运行上面的代码来计算它们的和。我们将看到以下输出:

Matrix 1:
1   2   3   
4   5   6   
Matrix 2:
7   8   9   
10  11  12  
Sum of matrices:
8   10  12  
14  16  18

示例二

我们将使用以下两个矩阵:

matrix1 = {
    {1, 2},
    {3, 4}
}
matrix2 = {
    {5, 6},
    {7, 8}
}

在这种情况下,两个矩阵的和如下所示:

sum = {
    {6, 8},
    {10, 12}
}

我们可以通过运行上面的代码来计算它们的和。我们将看到以下输出:

Matrix 1:
1   2   
3   4   
Matrix 2:
5   6   
7   8   
Sum of matrices:
6   8   
10  12  

至此,我们已经详细讲解了 C 程序如何将两个矩阵相加,并提供了两个示例说明。如有疑问,请随时留言!