c语言实现矩阵乘法 函数调用,C语言关于矩阵乘法的函数,,

满意答案

dcebd7a0de6265b6ccae5ead692f1eab.png

chuan695032

2013.03.12

dcebd7a0de6265b6ccae5ead692f1eab.png

采纳率:40%    等级:12

已帮助:18780人

童鞋,不知道你是用的什么测试数据,在我的机器上测试了几组数据,结果都是正确的。

重复下我的测试代码。

#include "stdio.h"

#include "stdlib.h"

#include "malloc.h"

void multiplication(int a,int b,int c,int *p,int *q);

void main()

{

int m,n,l,h;

int i,j,g,k;

int *p,*q;

char x;

printf("请输入a矩阵行数和列数,以空格分开,,,");

scanf("%d %d",&m,&n);

p=(int *)malloc(sizeof(int)*m*n);

for(i=0;i

for(j=0;j

{

printf("请输入a矩阵%d行%d列的数,,",(i+1),(j+1));

scanf("%d",(p+m*i+j));

}

printf("请输入b矩阵行数和列数,以空格分开,,,");

scanf("%d %d",&l,&h);

q=(int *)malloc(sizeof(int)*l*h);

for(g=0;g

for(k=0;k

{

printf("请输入b矩阵%d行%d列的数,,",(g+1),(k+1));

scanf("%d",(q+l*g+k));

}

multiplication( m, n, h, p, q);

}

void multiplication(int a,int b,int c,int *p,int *q)

{

int i,j;

int k;

int sum;

for(i=0;i

{

for(j=0;j

{

sum=0;

for(k=0;k

{

sum=sum+(*(p+a*i+k))*(*(q+b*k+j));

}

printf("%d ",sum);

}

printf("\n");

}

}

附带一组测试数据

A 3 4

2 1

B3

4

Result

25

10

结果正确。

00分享举报

你可能感兴趣的:(c语言实现矩阵乘法,函数调用)