输入两个n(2≤n≤10)阶方阵A和B,计算并输出它们的乘积C.c语言
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/19 09:27:22
输入两个n(2≤n≤10)阶方阵A和B,计算并输出它们的乘积C.c语言
输入两个n(2≤n≤10)阶方阵A和B,计算并输出它们的乘积C.
c语言
输入两个n(2≤n≤10)阶方阵A和B,计算并输出它们的乘积C.c语言
#include <stdio.h>
#include <stdlib.h>
int main()
{
int row1=0,row2=0,cow1=0,cow2=0;
int i=0,j=0,k=0,temp=0;
int array1[20][20],array2[20][20],array[20][20];
printf("请输入第一个矩阵的行数和列数\n");
scanf("%d %d",&row1,&cow1);
printf("请输入%d行 %d列矩阵\n",row1,cow1);
for(i=0;i<row1;i++)
for(j=0;j<cow1;j++)
scanf("%d",&array1[i][j]);
printf("请输入第二个矩阵的行数和列数\n");
scanf("%d %d",&row2,&cow2);
printf("请输入%d行 %d列矩阵\n",row2,cow2);
if(cow1!=row2)
{
printf("矩阵不能相乘\n");
exit(0);
}
for(i=0;i<row2;i++)
for(j=0;j<cow2;j++)
scanf("%d",&array2[i][j]);
for(i=0;i<row1;i++)
{
for(j=0;j<cow2;j++)
{
temp=0;
for(k=0;k<cow1;k++)
temp=temp+array1[i][k]*array2[k][j];
array[i][j]=temp;
}
}
printf("2个矩阵相乘的结果是:\n");
printf("行:%d 列:%d\n",row1,cow2);
for(i=0;i<row1;i++)
{
for(j=0;j<cow2;j++)
printf("%-6d",array[i][j]);
printf("\n");
}
return 0;
}