c语言二维数组矩阵运算
时间: 2023-12-05 22:41:12 浏览: 93
C语言中的二维数组可以看作是一个矩阵,因此可以进行矩阵运算。常见的矩阵运算包括矩阵加法、矩阵减法、矩阵乘法等。下面分别介绍这些运算的实现方法。
1. 矩阵加法
矩阵加法的实现方法是将两个矩阵对应位置的元素相加,得到一个新的矩阵。需要注意的是,两个矩阵必须具有相同的行数和列数。
```c
#include <stdio.h>
int main()
{
int a[2][2] = {{1, 2}, {3, 4}};
int b[2][2] = {{5, 6}, {7, 8}};
int c[2][2] = {{0, 0}, {0, 0}};
int i, j;
// 矩阵加法
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
c[i][j] = a[i][j] + b[i][j];
}
}
// 输出结果
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}
```
2. 矩阵减法
矩阵减法的实现方法是将两个矩阵对应位置的元素相减,得到一个新的矩阵。需要注意的是,两个矩阵必须具有相同的行数和列数。
```c
#include <stdio.h>
int main()
{
int a[2][2] = {{1, 2}, {3, 4}};
int b[2][2] = {{5, 6}, {7, 8}};
int c[2][2] = {{0, 0}, {0, 0}};
int i, j;
// 矩阵减法
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
c[i][j] = a[i][j] - b[i][j];
}
}
// 输出结果
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}
```
3. 矩阵乘法
矩阵乘法的实现方法是将一个矩阵的每一行与另一个矩阵的每一列进行内积,得到一个新的矩阵。需要注意的是,第一个矩阵的列数必须等于第二个矩阵的行数。
```c
#include <stdio.h>
int main()
{
int a[2][3] = {{1, 2, 3}, {4, 5, 6}};
int b[3][2] = {{7, 8}, {9, 10}, {11, 12}};
int c[2][2] = {{0, 0}, {0, 0}};
int i, j, k;
// 矩阵乘法
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
for (k = 0; k < 3; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
// 输出结果
for (i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}
```