<矩阵的基本操作:矩阵相加,矩阵相乘,矩阵转置>

时间:2020-11-28 16:34:59
 //矩阵的基本操作:矩阵相加,矩阵相乘,矩阵转置
#include<stdio.h>
#include<stdlib.h>
#define M 2
#define N 3
#define P 4
int main()
{
//函数声明
void JuZhenXiangJia();
void JuZhenXiangCheng();
void Ju*anZhi();
Ju*anZhi();
JuZhenXiangJia();
JuZhenXiangCheng();
system("pause");
return ;
}
void JuZhenXiangJia()
{//两个二维数组相加
int i,j;
int A[M][N],B[M][N],C[M][N];
printf("请输入矩阵A的元素:\n");
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
scanf("%d",&A[i][j]);
}
}
printf("\n矩阵A如下所示:\n");
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
printf("%3d",A[i][j]);
}
printf("\n");
}
printf("\n请输入矩阵B的元素:\n");
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
scanf("%d",&B[i][j]);
}
}
printf("\n矩阵B如下:\n");
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
printf("%3d",B[i][j]);
}
printf("\n");
}
printf("\n");
//矩阵A和矩阵B的和放在矩阵C中
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
C[i][j] = A[i][j]+B[i][j];
}
}
printf("\n矩阵C如下:\n");
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
printf("%3d",C[i][j]);
}
printf("\n");
}
printf("\n");
} void JuZhenXiangCheng()
{//两个二维数组相乘
int i,j,k;
int A[M][N],B[N][P],C[M][P];
printf("请输入矩阵A的元素:\n");
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
scanf("%d",&A[i][j]);
}
}
printf("\n矩阵A如下所示:\n");
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
printf("%3d",A[i][j]);
}
printf("\n");
}
printf("\n请输入矩阵B的元素:\n");
for(i=;i<N;i++)
{
for(j=;j<P;j++)
{
scanf("%d",&B[i][j]);
}
}
printf("\n矩阵B如下:\n");
for(i=;i<N;i++)
{
for(j=;j<P;j++)
{
printf("%3d",B[i][j]);
}
printf("\n");
}
printf("\n");
//矩阵A和矩阵B相乘,积放在矩阵C中
for(i=;i<M;i++)
{
for(j=;j<P;j++)
{
C[i][j] = ;
for(k=;k<N;k++)
{
C[i][j] = C[i][j]+A[i][k]*B[k][j];
}
}
}
printf("\n矩阵C如下:\n");
for(i=;i<M;i++)
{
for(j=;j<P;j++)
{
printf("%5d",C[i][j]);
}
printf("\n");
}
printf("\n");
} void Ju*anZhi()
{//矩阵的转置
int i,j;
int A[M][N],B[N][M];
printf("请输入矩阵A的元素:\n");
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
scanf("%d",&A[i][j]);
}
}
printf("\n矩阵A如下所示:\n");
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
printf("%3d",A[i][j]);
}
printf("\n");
}
//矩阵转置为矩阵B
for(i=;i<M;i++)
{
for(j=;j<N;j++)
{
B[j][i] = A[i][j];
}
}
printf("转置后得到的矩阵B为:\n");
for(i=;i<N;i++)
{
for(j=;j<M;j++)
{
printf("%3d",B[i][j]);
}
printf("\n");
}
}

<矩阵的基本操作:矩阵相加,矩阵相乘,矩阵转置>