手机游戏矩阵

# include & ltstdio.h & gt

# include & ltstdlib.h & gt

void print(int m,int p,int * P4);/*函数声明*/

int main()

{

int test _ num = 0;/*要计数的次数*/

int comp _ times = 0;/*已经执行的计算次数*/

int m,n,p,I,j,k,sum,x;/*m,n,p确定矩阵形式,I,j表格行列,sum求每次计算的和*/

int * p 1 = NULL;/*定义3个指针并初始化*/

int * p2 = NULL

int * p3 = NULL

scanf ("%d ",& amp测试数量);/*读入要计算的次数*/

for(;comp _ times & lt测试数量;Comp_times++) /*当执行次数等于要运行的次数时退出*/

{

scanf("%d %d %d ",& ampm & amp;n & amp;p);/*确定矩阵形式,m*n和n*p矩阵*/

p 1 = malloc((m * n)* sizeof(int));/*申请内存*/

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

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

for(I = 0;我& ltm * n;I++) /*读取第一个矩阵*/

{

scanf("%d ",& amp*(p 1+I));

}

for(I = 0;我& ltn * p;I++) /*读取第二个矩阵*/

{

scanf("%d ",& amp*(p2+I));

}

/*计算下面的矩阵乘法,并将每次运算的结果存储在第三个存储器中*/

for(I = 0;我& ltm;i++)

{

for(j = 0;j & ltp;j++)

{

for(k = sum = 0;k & ltn;k++)

{

x = *(p 1+k+I * n)* *(p2+k * p+j);

sum+= x;/*累计总和*/

}

*(p3 + i*p + j) =总和;

}

}

打印(m,p,P3);

免费(p 1);

免费(p2);

免费(P3);

}

返回0;

}

/*定义打印矩阵乘法结果的函数,变量分别为矩阵类型和索引。

p4脚用来实现每个p号后面都有一个回车,否则就是一个空格*/

void print(int m,int p,int *p4)

{

int I = 0;

while(我& ltm * p)

{

if (i % p == p - 1)

printf(" % d \ n " ,*(P4+I));

其他

printf(" % d " ,*(P4+I));

i++;

}

}