如何用C语言编写一个函数,接收两个m×n阶矩阵A和B作为输入,然后计算它们的对应元素相加得到和矩阵,并将结果输出?
时间: 2025-01-01 20:38:13 浏览: 8
在C语言中,你可以通过定义一个函数来实现矩阵相加的操作。首先,你需要定义一个函数原型,说明函数接受两个二维数组(矩阵)作为参数,并返回类型。接着,遍历矩阵的每个元素,将A和B对应位置的元素相加,然后将结果保存在一个新的矩阵中。下面是一个简单的示例:
```c
#include <stdio.h>
// 定义矩阵的大小
#define ROWS 4
#define COLS 5
// 函数声明
void addMatrices(int A[ROWS][COLS], int B[ROWS][COLS], int result[ROWS][COLS]);
// 主函数
int main() {
// 初始化两个矩阵
int A[ROWS][COLS] = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20}
};
int B[ROWS][COLS] = {
{21, 22, 23, 24, 25},
{26, 27, 28, 29, 30},
{31, 32, 33, 34, 35},
{36, 37, 38, 39, 40}
};
// 用于存储结果的新矩阵
int C[ROWS][COLS];
// 调用函数
addMatrices(A, B, C);
// 输出结果矩阵
printf("Matrix addition result:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", C[i][j]);
}
printf("\n");
}
return 0;
}
// 矩阵相加的函数
void addMatrices(int A[ROWS][COLS], int B[ROWS][COLS], int result[ROWS][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
result[i][j] = A[i][j] + B[i][j];
}
}
}
```
阅读全文