用C语言写一个不同行列矩阵的乘法的程序
时间: 2023-09-10 10:05:53 浏览: 108
可以参考以下代码,实现不同行列矩阵的乘法:
```c
#include <stdio.h>
int main()
{
int m, n, p, q, i, j, k;
printf("Enter the number of rows and columns of matrix A: ");
scanf("%d %d", &m, &n);
int a[m][n];
printf("Enter the elements of matrix A:\n");
for(i=0;i<m;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
printf("Enter the number of rows and columns of matrix B: ");
scanf("%d %d", &p, &q);
//Check if multiplication is possible
if(n!=p){
printf("Matrix multiplication not possible!");
return 0;
}
int b[p][q];
printf("Enter the elements of matrix B:\n");
for(i=0;i<p;i++){
for(j=0;j<q;j++){
scanf("%d",&b[i][j]);
}
}
int c[m][q];
for(i=0;i<m;i++){
for(j=0;j<q;j++){
c[i][j]=0;
for(k=0;k<p;k++){
c[i][j]+=a[i][k]*b[k][j];
}
}
}
printf("The product of the matrices is:\n");
for(i=0;i<m;i++){
for(j=0;j<q;j++){
printf("%d ",c[i][j]);
}
printf("\n");
}
return 0;
}
```
在程序中,首先要输入两个矩阵A和B的行列数,然后依次输入它们的元素值。在计算矩阵乘法时,需要检查矩阵A的列数是否等于矩阵B的行数,若不等则无法进行乘法。最后输出乘积矩阵C的元素值。
阅读全文