#include<stdio.h>
#include<stdlib.h>
#define M 100
int main(void)
{
int i,j,k,matrix1[M][M],matrix2[M][M],row1=3,col1=4,row2=4,col2=3,matrix[M][M];
printf("请输入第一个3X4矩阵:\n");
for(i=0;i<row1;i++){
for(j=0;j<col1;j++){
scanf("%d",&matrix1[i][j]);
}
}
printf("请输入第二个4X3矩阵:\n");
for(i=0;i<row2;i++){
for(j=0;j<col2;j++){
scanf("%d",&matrix2[i][j]);
}
}
for(i=0;i<row1;i++){
for(j=0;j<col2;j++){
matrix[i][j]=0;
}
}
for(i=0;i<row1;i++){
for(j=0;j<col2;j++){
for(k=0;k<col1;k++){
matrix[i][j]=matrix[i][j]+matrix1[i][k]*matrix2[k][j];
}
}
}
for(i=0;i<row1;i++){
for(j=0;j<col2;j++){
printf("%d ",matrix[i][j]);
}
printf("\n");
}
return 0;
}
运行结果:
代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a[3][4], b[4][3];
int c[3][3];
int i, j, k, l;
printf("请输入第一个3*4矩阵:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
scanf("%d",&a[i][j]);
}
}
printf("请输入第二个4*3矩阵:\n");
for (i = 0; i < 4; i++)
{
for (j = 0; j < 3; j++)
{
scanf("%d", &b[i][j]);
}
}
//相乘
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
c[i][j] = 0;
for (k = 0; k < 4; k++)
c[i][j] += a[i][k] * b[k][j];
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}
暴力法,用二维数组,遍历,相乘。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!