C语言中两矩阵相乘

Python015

C语言中两矩阵相乘,第1张

#include <stdio.h>

int main()

{

int x,y,z

int i,j,l

int sum=0

printf("请输入前一个矩阵行数,列数与后一个矩阵的列数:\n")

scanf("%d %d %d",&x,&y,&z)

int a[x][y]

int b[y][z]

int c[x][z]

//读入矩阵

printf("请输入矩阵a:\n")

for(i=0i<xi++){

for(j=0j<yj++){

scanf("%d",&a[i][j])

}

}

printf("请输入矩阵b:\n")

for(i=0i<yi++){

for(j=0j<zj++){

scanf("%d",&b[i][j])

}

}

printf("矩阵a为:\n")

for(i=0i<xi++){

for(j=0j<yj++){

printf("%d",a[i][j])

if(j==y-1)

printf("\n")

else

printf("\t")

}

}

printf("矩阵b为:\n")

for(i=0i<yi++){

for(j=0j<zj++){

printf("%d",b[i][j])

if(j==z-1)

printf("\n")

else

printf("\t")

}

}

for(i=0i<xi++){

for(l=0l<zl++){

for(j=0j<yj++){

sum+=a[i][j]*b[j][l]

if(j==y-1){

c[i][l]=sum,sum=0

}

}

}

}

printf("矩阵a与矩阵b的乘积为:\n")

for(i=0i<xi++){

for(j=0j<zj++){

printf("%d",c[i][j])

if(j==z-1)

printf("\n")

else

printf("\t")

}

}

return 0

}

#include<stdio.h>

int main(){

int a[100][100],b[100][100],c[100][100]={0}

int m1,n1,m2,n2,i,j,k

printf("请输入矩阵A行数m1 列数n1:\n")

scanf("%d%d",&m1,&n1)

printf("请输入矩阵B行数m2 列数n2:\n")

scanf("%d%d",&m2,&n2)

if(n1!=m2)

printf("\n不可以相乘\n")

else if((m1>100)||(n1>100)||(m2>100)||(n2>100))

printf("越界!!")

else{

for(i=0i<m1i++)

for(j=0j<n1j++){

printf("a[%d][%d]=:",i,j)

scanf("%d",&a[i][j])}

printf("\n")

for(i=0i<m2i++)

for(j=0j<n2j++){

printf("b[%d][%d]=:",i,j)

scanf("%d",&b[i][j])}

printf("\n矩阵C=A*B:\n")

for(i=0i<m1i++)

for(j=0j<n2j++){

for(k=0k<n1k++)

c[i][j]+=a[i][k]*b[k][j]

printf("%d",c[i][j])

if(j==n2)

printf("\n")}}

return 0}