您的位置:首页 > 其它

实现矩阵的乘法初级程序

2016-03-19 17:35 363 查看
#include <stdio.h>

int main()

{

int arr1[10][10] = { 0 }, arr2[10][10] = { 0 }, arr3[10][10] = { 0 };

int m1, n1, m2, n2, m3, n3;

int i, j, z;

//int x, y;

//int c;

loop:

printf("请分别输入两个矩阵的行数和列数:\n");

scanf_s("%d%d%d%d", &m1, &n1, &m2, &n2);

if ((m1 != n2) || (n1 != m2))

{

printf("这两个矩阵不能进行乘法运算!\n请重新输入:\n");

goto loop;

}

else

{

printf("输入第一个矩阵:\n");

for (i = 0; i < m1;i++)

for (j = 0; j < n1; j++)

{

scanf_s("%d", &arr1[i][j]);

}

printf("\n");

printf("输入第二个矩阵:\n");

for (i = 0; i < m2; i++)

for (j = 0; j < n2; j++)

{

scanf_s("%d", &arr2[i][j]);

}

printf("\n");

m3 = m1;

n3 = n2;

for (i = 0; i < m1;i++)

for (j = 0; j < m2;j++) //矩阵的乘法运算

for (z = 0; z < m1; z++)

{

arr3[i][z] = arr3[i][z] + arr1[i][j] * arr2[j][z]; //三重循环实现矩阵中的两个元素相乘

}

printf("经乘法运算后得到的矩阵为:\n");

for (i = 0; i < m3; i++)

{

for (j = 0; j < n3; j++)

{

printf("%d ", arr3[i][j]);

}

printf("\n");

}

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: