|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
要求求两个矩阵a和b的乘积,结果存储在矩阵c中,
基本思路是先给矩阵a和b赋值,然后计算出c矩阵中每个元素的值,再打印出c矩阵
程序如下:
#include <stdio.h>
int main()
{
int i, j, t = 0;
int a[2][3] = { 1, 2, 3,4,5,6 };
int b[3][2] = { 1, 2, 3, 4, 5, 6 };
int c[2][2] = {0}; //定义矩阵,初始化
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2; j++)
{
for (t = 0; t < 3; t++)
{
c[i][j] = c[i][j] + a[i][t] * b[t][j]; //计算出c矩阵中每一个元素的值
}
}
}
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2; j++)
{
printf("%3d",c[i][j]);
}
printf("\n"); //打印c矩阵
}
printf("\n");
return 0;
}
但是这样的程序执行结果是这样子的,结果不对
为什么这个程序不行呢?
程序没问题,结果也没问题
你为什么认为结果不对呢?
- 矩阵a:
- 1 2 3
- 4 5 6
- 矩阵b:
- 1 2
- 3 4
- 5 6
- 矩阵c:
- 1*1+2*3+3*5=22;1*2+2*4+3*6=28
- 4*1+5*3+6*5=49;4*2+5*4+6*6=64
复制代码
|
|