当前位置:首页C语言 > 正文

c语言两个矩阵相加

作者:野牛程序员:2023-07-27 07:27:23C语言阅读 2739

在C语言中,两个矩阵相加的操作需要确保两个矩阵具有相同的维度,即行数和列数相等。下面是一个简单的C语言程序,用于计算两个矩阵的相加:

#include <stdio.h>

// 定义矩阵的最大行数和列数
#define MAX_ROWS 100
#define MAX_COLS 100

// 函数用于输入矩阵
void inputMatrix(int matrix[MAX_ROWS][MAX_COLS], int rows, int cols) {
    printf("输入矩阵元素:\\n");
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("元素[%d][%d]: ", i, j);
            scanf("%d", &matrix[i][j]);
        }
    }
}

// 函数用于输出矩阵
void printMatrix(int matrix[MAX_ROWS][MAX_COLS], int rows, int cols) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            printf("%d\\t", matrix[i][j]);
        }
        printf("\\n");
    }
}

// 函数用于计算两个矩阵的相加结果
void addMatrices(int matrix1[MAX_ROWS][MAX_COLS], int matrix2[MAX_ROWS][MAX_COLS], int result[MAX_ROWS][MAX_COLS], int rows, int cols) {
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++) {
            result[i][j] = matrix1[i][j] + matrix2[i][j];
        }
    }
}

int main() {
    int rows, cols;
    int matrix1[MAX_ROWS][MAX_COLS];
    int matrix2[MAX_ROWS][MAX_COLS];
    int result[MAX_ROWS][MAX_COLS];

    // 输入矩阵1的行数和列数
    printf("输入矩阵1的行数和列数:");
    scanf("%d %d", &rows, &cols);

    // 输入矩阵1的元素
    printf("输入矩阵1:\\n");
    inputMatrix(matrix1, rows, cols);

    // 输入矩阵2的元素
    printf("输入矩阵2:\\n");
    inputMatrix(matrix2, rows, cols);

    // 计算矩阵相加
    addMatrices(matrix1, matrix2, result, rows, cols);

    // 显示结果
    printf("相加后的结果:\\n");
    printMatrix(result, rows, cols);

    return 0;
}

在这个程序中,定义了输入矩阵、输出矩阵和矩阵相加的函数,然后在main函数中输入两个矩阵,计算它们的相加结果并输出。记得确保输入的两个矩阵具有相同的行数和列数,否则无法进行相加操作。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击