利用公式 计算 m×n阶矩阵A和 m×n阶矩阵B之和,已知aij为矩阵A的元素,bij为矩阵B的元素,Cij为矩阵C的元素(i=1,2,…,m;j=1,2,...,n)。
能不能用二维数组
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main()
{
int A[ROWS][COLS] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} };
int B[ROWS][COLS] = { {2, 3, 4, 5}, {6, 7, 8, 9}, {10, 11, 12, 13} };
int C[ROWS][COLS];
int i, j;
// 计算矩阵 C 的每个元素
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
C[i][j] = A[i][j] + B[i][j];
}
}
// 输出矩阵 A 和矩阵 B 的和
printf("A + B =\n");
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", C[i][j]);
}
printf("\n");
}
return 0;
}
在上面的代码中,首先定义了两个 3x4 的矩阵 A 和 B,并初始化了它们的元素。然后定义了一个同样大小的矩阵 C,用来存储矩阵 A 和 B 的和。接下来使用双重循环遍历矩阵 A 和矩阵 B 的每个元素,并利用公式计算矩阵 C 的每个元素的值。最后输出矩阵 A 和矩阵 B 的和。
需要注意的是,上面的代码中使用了 C 语言中的二维数组来表示矩阵 A、B 和 C,这种方式更为方便和易于理解。
不知道你这个问题是否已经解决, 如果还没有解决的话:C语言实现两个矩阵A,B的加法并将结果存放在矩阵C中:
#include <stdio.h>
# define M 3 //矩阵A,B的行数
# define N 3 //矩阵A,B的列数
int main()
{ int i,j;
int a[M][N]={1,2,3,4,5,6,7,8,9}; //矩阵A
int b[M][N]={9,8,7,6,5,4,3,2,1}; //矩阵B
int c[M][N]; //矩阵C
for(i=0;i<M;i++) //矩阵相加操作
{
for(j=0;j<N;j++) { c[i][j]=a[i][j]+b[i][j];
}
}
for(i=0;i<M;i++) //输出矩阵C
{
for(j=0;j<N;j++) {
printf("%d ",c[i][j]);
}
printf("\n");
}
return 0;
}
这个例子利用二维数组来实现了两个矩阵的加法。