请编写函数fun,函数的功能是:将3行4列矩阵x乘以4行3列矩阵y,结果放在 3行3列矩阵xy中。矩阵相乘的基本方法是:矩阵xy中行列下标分别为i、j的元素的值,是矩阵x中第i行上4个元素与矩阵y中第j列上4个元素对应相乘的和。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include <conio.h> #include <stdio.h> void fun(int a[3][4],int b[4][3],int ab[3][3]) { } main() {int x[3][4]={{1,0,1,1},{2,1,0,1},{1,2,0,3}}; int y[4][3]={{1,1,1},{0,0,0},{2,1,1},{1,1,3}}; int xy[3][3]={0},i,j; clrscr(); fun(x,y,xy); printf("a x b=ab:(3,3):"); for(i=0;i<3;i++) { for(j=0;j<3;j++)printf("%d",xy[i][j]); printf("\n"): } NONO();/*本函数与考生答题无关,考生不得改动,否则后果自负。*/ }
参考答案:
解析:void fun (int a[3][4],int b[4][3],int ab[3][3] { int j,k,1; for(k=0;k<3;k++) for(1=0;1<3;1++) for(j=0; j<4; j++) ab[k][1]+=a[k][j]*b[j][1]; }