C语言4 4矩阵相乘的实验报告,矩阵相乘的结果C语言程序.doc

矩阵相乘的结果C语言程序

C语言程序设计实验报告

实验名称数组实验

学 院机械与储运工程学院专业班级机电11-4卓越姓 名翟城城学 号2011011881任课教师连远峰实验时间2012年4月18日

实验目的

掌握数组的定义、赋值和输入/输出方法。

掌握字符数组的使用,了解字符数组的使用。

掌握语数组有关的算法(各种排序算法)。

实验内容

问题:编写程序,可以实现m*n矩阵和n*p矩阵相乘。m,n,p均小于10,矩阵元素为整数。

算法描述流程图

源程序

#include

void main()

{

int m,n,p,i,j,k;

int a[10][10],b[10][10],c[10][10]={0};

printf("请输入m,n,p的数值:\n");

scanf("%d%d%d",&m,&n,&p);

printf("请输入第一个数组:\n");

for(i=0;i

for(j=0;j

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

printf("请输入第二个数组:\n");

for(i=0;i

for(j=0;j

scanf("%d",&b[i][j]); //给数组a,b赋初值

printf("第一个数组为:\n");

for(i=0;i

{

for(j=0;j

printf("%4d",a[i][j]);

printf("\n");

}

printf("第二个数组为:\n");

for(i=0;i

{

for(j=0;j

printf("%4d",b[i][j]);

printf("\n");

} //打出数组a,b

for(i=0;i

for(j=0;j

for(k=0;k

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

printf("数组a与b相乘得到c数组为:\n");

for(i=0;i

{

for(j=0;j

printf("%4d",c[i][j]);

printf("\n"); //输出数组c

}

}

测试数据

m=3,n=4,p=2;

a[10][10]={{1,2,3,10}{4,5,6,11}{7,8,9,12}}

b[10][10]={{1,2}{3,4}{5,6}{7,8}}

运行结果

出现问题及解决方法

问题:n,m,p为变量,不能直接用来定义数组

解决方案:取最大空间,防止外溢,即数组a,b 都取十行十列

实验心得

在实践实验中才能熟练掌握C语言知识。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值