用c语言写一段矩阵相乘的代码
时间: 2024-05-15 15:16:19 浏览: 169
矩阵相乘的c语言代码
以下是一个简单的矩阵相乘的C语言代码:
```c
#include <stdio.h>
int main()
{
int m1[10][10], m2[10][10], ans[10][10];
int row1, col1, row2, col2;
int i, j, k;
printf("Enter the number of rows and columns of matrix 1: ");
scanf("%d %d", &row1, &col1);
printf("Enter the elements of matrix 1: \n");
for(i=0; i<row1; i++)
{
for(j=0; j<col1; j++)
{
scanf("%d", &m1[i][j]);
}
}
printf("Enter the number of rows and columns of matrix 2: ");
scanf("%d %d", &row2, &col2);
printf("Enter the elements of matrix 2: \n");
for(i=0; i<row2; i++)
{
for(j=0; j<col2; j++)
{
scanf("%d", &m2[i][j]);
}
}
if(col1 != row2)
{
printf("Multiplication not possible!\n");
return 0;
}
for(i=0; i<row1; i++)
{
for(j=0; j<col2; j++)
{
ans[i][j] = 0;
for(k=0; k<col1; k++)
{
ans[i][j] += m1[i][k] * m2[k][j];
}
}
}
printf("Resultant matrix: \n");
for(i=0; i<row1; i++)
{
for(j=0; j<col2; j++)
{
printf("%d ", ans[i][j]);
}
printf("\n");
}
return 0;
}
```
在此代码中,我们首先要求用户输入两个矩阵的维度和元素,然后检查这些矩阵是否可以相乘。如果矩阵不能相乘,则输出错误消息并退出程序。否则,我们使用三个嵌套的循环来计算矩阵的乘积,并将结果存储在另一个矩阵中。最后,我们打印出结果矩阵。
阅读全文