手机游戏矩阵
# 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++;
}
}