c语言f二维数组的乘法,c语言 矩阵的乘法 动态二维数组形式

#include

#include

int main(void)

{

int m,g,n;

int i,j,k;

printf("请输入第一个矩阵的行数和列数:\n");

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

printf("请输入第二个矩阵的列数(该矩阵行数等于第一个矩阵的列数):\n");

scanf("%d",&n);

int **a=NULL;

a=(int**)malloc(m*sizeof(int*));

for(i=0;i

a[i]=(int*)malloc(g*sizeof(int));

printf("请输入第一个矩阵中的元素:\n");

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

int **b=NULL;

b=(int**)malloc(g*sizeof(int *));

for(i=0;i

b[i]=(int*)malloc(n*sizeof(int));

printf("请输入第二个矩阵中的元素:\n");

for(i=0;i

for(j=0;j

scanf("%d",&b[i][j]);

int **result=NULL;

result=(int**)malloc(m*sizeof(int*));

for(i=0;i

result[i]=(int*)malloc(n*sizeof(int));

for(i=0;i

for(j=0;j

result[i][j]=0;

for(i=0;i

for(j=0;j

for(k=0;k

result[i][j]+=a[i][k]*b[k][j];

printf("结果:\n");

for(i=0;i

{

for(j=0;j

printf("]",result[i][j]);

printf("\n");

}

for(i=0;i

{

free(a[i]);

a[i]=NULL;

free(result[i]);

result[i]=NULL;

}

free(a);

a=NULL;

free(result);

result=NULL;

for(i=0;i

{free(b[i]);

b[i]=NULL;

}

free(b);

b=NULL;

return 0;

}

截图

90d0d0dcc0c64939d1f185abf00cd8ce.png

#include

#include

int main(void)

{

int m,g,n;

int i,j,k;

printf("请输入第一个矩阵的行数和列数:\n");

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

printf("请输入第二个矩阵的列数(该矩阵行数等于第一个矩阵的列数):\n");

scanf("%d",&n);

double **a=NULL;

a=(double**)malloc(m*sizeof(double*));

for(i=0;i

a[i]=(double*)malloc(g*sizeof(double));

printf("请输入第一个矩阵中的元素:\n");

for(i=0;i

for(j=0;j

scanf("%lf",&a[i][j]);

double **b=NULL;

b=(double**)malloc(g*sizeof(double *));

for(i=0;i

b[i]=(double*)malloc(n*sizeof(double));

printf("请输入第二个矩阵中的元素:\n");

for(i=0;i

for(j=0;j

scanf("%lf",&b[i][j]);

double **result=NULL;

result=(double**)malloc(m*sizeof(double*));

for(i=0;i

result[i]=(double*)malloc(n*sizeof(double));

for(i=0;i

for(j=0;j

result[i][j]=0;

for(i=0;i

for(j=0;j

for(k=0;k

result[i][j]+=a[i][k]*b[k][j];

printf("结果:\n");

for(i=0;i

{

for(j=0;j

printf("%5g",result[i][j]);

printf("\n");

}

for(i=0;i

{

free(a[i]);

a[i]=NULL;

free(result[i]);

result[i]=NULL;

}

free(a);

a=NULL;

free(result);

result=NULL;

for(i=0;i

{free(b[i]);

b[i]=NULL;

}

free(b);

b=NULL;

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值