c语言 矩阵相乘代码

Modified on: Sun, 10 Mar 2019 15:15:00 +0800 热度: 1,192 度

#include <stdio.h>
int a[1000][1000];
int b[1000][1000];
int c[1000][1000]={0};
int main(int argc, const char * argv[])
{

int x1,y1;
int x2,y2;
int i,j,k;

scanf("%d%d",&x1,&y1);
for(i=0;i<x1;i++)
{
    for(j=0;j<y1;j++)
    {
        scanf("%d",&a[i][j]);
    }
}
scanf("%d%d",&x2,&y2);
for(i=0;i<x2;i++)
{
    for(j=0;j<y2;j++)
    {
        scanf("%d",&b[i][j]);
    }
}
if(y1!=x2)
{
    printf("Error: %d != %d",y1,x2);
    return 0;
}
printf("%d %d\n",x1,y2);
for(i=0;i<y1;i++)
{
    for(j=0;j<y2;j++)
    {
        for(k=0;k<x2;k++)
        {
            c[i][j]+=a[i][k]*b[k][j];
        }
    }
}
for(i=0;i<x1;i++)
{
    for(j=0;j<y2;j++)
    {
        if(j)putchar(' ');
        printf("%d",c[i][j]);
    }
    putchar(10);
}
return 0;

}
//x0y0 x0y1 x0y2
//x1y0 x1y1 x1y2

//x0y0 x0y1 x0y2 x0y3
//x1y0 x1y1 x2y2 x3y3
//x2y0 x2y1 x2y2 x4y3

//c00 c01 c02 c03
//c10 c11 c10 c13

添加新评论