用C语言实现矩阵加法
时间: 2024-10-09 12:03:34 浏览: 56
在C语言中,我们可以使用二维数组来表示矩阵,并通过嵌套循环实现矩阵加法。下面是一个简单的示例,用于计算两个同维度的矩阵相加:
```c
#include <stdio.h>
// 定义函数,接收两个矩阵指针、行数和列数作为参数
void matrix_add(int *matrix1, int *matrix2, int rows, int cols, int result_matrix[rows][cols]) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
// 矩阵元素相加并存储到结果矩阵中
result_matrix[i][j] = matrix1[i][j] + matrix2[i][j];
}
}
}
int main() {
int row, col;
// 输入矩阵的行数和列数
printf("Enter number of rows and columns for the matrices: ");
scanf("%d %d", &row, &col);
// 初始化两个矩阵
int matrix1[row][col], matrix2[row][col], sum_matrix[row][col];
// 输入矩阵元素
printf("\nEnter elements of first matrix:\n");
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
scanf("%d", &matrix1[i][j]);
}
}
printf("\nEnter elements of second matrix:\n");
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
scanf("%d", &matrix2[i][j]);
}
}
// 计算矩阵相加
matrix_add(matrix1, matrix2, row, col, sum_matrix);
// 输出结果矩阵
printf("\nSum of the matrices:\n");
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%d ", sum_matrix[i][j]);
}
printf("\n");
}
return 0;
}
```
阅读全文