abcd123654321 发表于 2007-1-14 13:19

我的矩阵乘法程序

<p>这是我遍的矩阵乘法的程序,大家一起探讨一下,有没有更好,更精巧的算法.谢谢了</p><p>#include "stdio.h"<br/>#define M 3<br/>#define N 2<br/>#define L 4</p><p>void jzcf(int array,int boy,int&nbsp; c)<br/>{<br/>&nbsp;&nbsp;&nbsp; int m,n,l;<br/>&nbsp;for(m=0;m&lt;M;m++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*运算矩阵1和矩阵2的乘积的子函数*/<br/>&nbsp;&nbsp;&nbsp; for(l=0;l&lt;L;l++)<br/>&nbsp;&nbsp; {for(n=0;n&lt;N;n++) <br/>&nbsp;&nbsp; &nbsp;c=c+array*boy;<br/>&nbsp;&nbsp; }<br/>&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>main()<br/>{/*求矩阵乘法的程序*/<br/>&nbsp;int a,b,c={0};<br/>int m,n,l,i;<br/>do<br/>{<br/>&nbsp;printf("请输入矩阵1的值:\n");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*输入矩阵1的值*/<br/>&nbsp;for(m=0;m&lt;M;m++)<br/>&nbsp;for(n=0;n&lt;N;n++)<br/>{ scanf("%d",&amp;a);<br/>&nbsp; <br/>}&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;printf("请输入矩阵2的值:\n");<br/>&nbsp;for(n=0;n&lt;N;n++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*输入矩阵2的值*/<br/>&nbsp;for(l=0;l&lt;L;l++)<br/>{ scanf("%d",&amp;b);<br/>&nbsp;&nbsp; <br/>}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp; jzcf(a,b,c);<br/>&nbsp;&nbsp; printf("以下是矩阵1和矩阵2的乘积:\n");<br/>&nbsp;&nbsp; for(m=0;m&lt;M;m++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp; for(l=0;l&lt;L;l++)<br/>&nbsp;&nbsp; {printf("%5d",c);<br/>&nbsp;&nbsp;&nbsp; if((l+1)%L==0) printf("\n");<br/>}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp; printf("想要结束程序请输入0;\n继续程序请输入其他整数。\n");<br/>&nbsp;&nbsp; printf("i=");<br/>&nbsp;&nbsp; scanf("%d",&amp;i);<br/>}&nbsp; while(i==0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*是否执行循环*/<br/>&nbsp;&nbsp; <br/>}<br/></p>
页: [1]
查看完整版本: 我的矩阵乘法程序