三九宝宝网宝宝教育教学论文

该C语言的矩阵乘法函数是怎么想出来的

02月21日 编辑 39baobao.com

[C语言求矩阵的逆]去文库,查看完整内容> 内容来自用户:zhangbincehui #include #include void jiafa() { int m,n; float a[20][20],b[20][20],c[20][20]; int i,j; printf("请输入矩阵行数:"); scanf...+阅读

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

重复下我的测试代码。

#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

B 3

4

Result

25

10

结果正确。

以下为关联文档:

c语言两个矩阵相乘的程序怎么写matrix_mul(int **a, int **b, int **c, int m, int p, int n) { for (int i = 0; i < m; i++) { for (int j = 0; j < p; j++) { c[i][j] = 0; for (int k = 0; k < n; k++...

用C语言实现矩阵乘法void main() {int a[100][100],b[100][100],c[100][100],i,j,k,m,n,h;<br/> scanf("%d%d%d",&k,&m,&n);<br/> for(i=0;i<k;i++)<br/> for(j=0;j<m;j++)<br/> scanf("%d",&a[i][j...

C语言矩阵乘法#include<stdio.h> int main() { int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int b[4][5]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}; int i,j,z,x,y,c[3][5]; for(i=0;i...

c语言对数组矩阵有没有求和库函数#include #include typedef struct matrix{ int **array; int row; int column;} matrix, *pmatrix;void addmatrix( pmatrix a, pmatrix b, pmatrix c ){ int i,j, k; if (...

编程中C语言函数想返回2个值该怎么办楼下真牛逼,恐怕是怪兽大学毕业的吧。 推荐做法 把函数声明写成这样int func(int* ret1,int* ret2) 这样就可以用ret1和ret2来返回信息了,事实上,scanf函数就是这样的一个例子...

矩阵乘法 C语言设计题目是否有问题. m * n的矩阵和n * p的矩阵.相乘的结果应该是一个m * p的矩阵. 因此,以上面的例子,得到的应该是一个2 * 4的矩阵. 下面是代码: #include< stdio.h > main() { i...

c语言输入一个5行5列的矩阵计算该矩阵最外圈元素之和三个错误:①没有对数组进行赋初值;②C语言中,判断是否等于应该写“==”,“=”是赋值符号,这是新手最容易犯的错误之一;③在相加时,二维矩阵四个角上的元素都多加了一次,所以要减掉。...

请问C语言中clock函数该怎么用1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 5...

c语言如何将函数调用堆栈打印出来可以直接用输出在函数内部调用时,把调用顺序打印出来。 一、一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部...

推荐阅读
图文推荐