矩阵乘法运算的C语言程序.doc
文本预览下载声明
#include stdio.h
#define N 30
#define M 30
void juzhen_mul(int m,int n,int *p1[M],int m1,int n1,int *p2[M])
{
int i,j,x=0;
int c[N][M]={0};
for(i=0;im;)
{
for(j=0;jm1;j++)
{
c[i][x]+=*(p1[i]+j)**(p2[j]+x);
}
printf(%d,c[i][x]);
printf( );
x++;
if(x==n1)
{
x=0;
i++;
printf(\n);
}
}
}
void main()
{
int a[N][M],b[N][M];
int n,m,n1,m1,i,j;
int *pa[M],*pb[M];
printf(请选择A矩阵的行数和列数:\n);
scanf(%d %d,m,n);
for(i=0;im;i++)
{
pa[i]=a[i];
}
printf(请输入%d*%d的矩阵A:\n,m,n);
for(i=0;im;i++)
{
for(j=0;jn;j++)
{
scanf(%d,a[i][j]);
}
}
printf(请选择B矩阵的行数和列数:\n);
scanf(%d %d,m1,n1);
for(i=0;im1;i++)
{
pb[i]=b[i];
}
printf(请输入%d*%d的矩阵B:\n,m1,n1);
for(i=0;im1;i++)
{
for(j=0;jn1;j++)
{
scanf(%d,b[i][j]);
}
}
printf(矩阵A*B= \n);
if(n==m1)
juzhen_mul(m,n,pa,m1,n1,pb);
else
printf(输入的行数和列数有误,请重新输入!\n);}
显示全部