例:
输入
2 3
3 2
1 2 4
2 0 3
1 2
3 2
0 5
输出
7 26
2 19
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 10
int main(void)
{
int A[N][N], B[N][N], mul[N][N]={0};
int max[N], min[N];
int i, j, k, m, n, x, y;
int sum = 0;
printf("请输入A的行和列:");
scanf("%d %d", &m, &n);
printf("请输入B的行和列:");
scanf("%d %d", &x, &y);
if (n == x) {/* 只有行等于列,列等于行才能相乘 */
printf("请输入行列式A\n");
for (i = 0; i < m; i++) {
for (j = 0; j <n; j++) {
scanf("%d", &A[i][j]);
}
}
printf("请输入行列式B:\n");
for (i = 0; i < x; i++) {
for (j = 0; j < y; j++) {
scanf("%d", &B[i][j]);
}
}
for (i = 0; i < m; i++) {/* 结果有 m 行 */
for (j = 0; j < y; j++) {/* 结果有 y 列 */
for (k = 0; k < n; k++){/* 实现相乘 */
mul[i][j] += A[i][k] * B[k][j];/* 关键步 i行k列乘k行j列*/
}
}
}
for (i = 0; i < m; i++) {
for (j = 0; j < y; j++) {
printf("%3d", mul[i][j]);
}
printf("\n");
}
}
else{
printf("这两个行列式无法相乘!");
}
return 0;
}