两个矩阵相乘但是结果不对,只有第一行的对,求解!

来源:互联网 发布:高级sql语句 编辑:程序博客网 时间:2024/06/03 16:24

代码如下:

#include <stdio.h>#include <stdlib.h>#define M 4#define N 5void MatrixMultiply2(int A[M][N],int B[N][M],int result[M][N]){    int i,j,k;    int temp;    for(i=0;i<M;i++)        for(j=0;j<M;j++)    {        temp=0;        for(k=0;k<N;k++)            temp=temp+A[i][k]*B[k][j];        result[i][j]=temp;    }}int main(){    int i,j;    int a[M][N]={{1,3,5,7,9},{0,2,4,6,6},{2,3,7,5,8},{1,7,2,9,0}};    int b[N][M]={{3,1,4,5},{6,7,5,9},{4,4,3,1},{7,6,8,9},{1,2,3,4}};    int result[M][M];    printf("矩阵a:\n");    for(i=0;i<M;i++)        for(j=0;j<N;j++)    {        printf("%d ",a[i][j]);        if(j==N-1)            printf("\n");    }    printf("矩阵b:\n");    for(i=0;i<N;i++)        for(j=0;j<M;j++)    {        printf("%d ",b[i][j]);        if(j==M-1)            printf("\n");    }    printf("两个矩阵相乘等于:\n");    MatrixMultiply2(a,b,result);    for(i=0;i<M;i++)        for(j=0;j<M;j++)    {        printf("%d ",result[i][j]);        if(j==M-1)            printf("\n");    }    return 0;}


0 0
原创粉丝点击