1、用C语言实现矩阵运算资料范本 本资料为word版本,可以直接编辑和打印,感谢您的下载用C语言实现矩阵运算 地点:_时间:_说明:本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容/任务二:矩阵的基本运算#include#include#define R1 4/矩阵MA行数,可以按具体情况修改#define C1 4/矩阵MA列数,可以按具体情况修改#define R2 4/矩阵MB行数,可以按具体情况修改#define C2 4/矩阵MB列数,可以按具体情况修改void Scalar(float MA
2、C1);void Transposition(float MAC1);void Add(float MAC1,float MBC2);void Subtraction(float MAC1,float MBC2);void Multiplication(float MAC1,float MBC2);void main()float MAR1C1,MBR2C2;int c;while(1)printf(功能如下:n);printf(数乘矩阵 1n);printf(矩阵转换 2n);printf(矩阵相加 3n);printf(矩阵相减 4n);printf(矩阵乘法 5n);printf(结束
3、0n);printf(请选定您需要的操作:n);scanf(%d,&c);switch(c)case 1:Scalar(MA);break;case 2:Transposition(MA);break;case 3:if(R1=R2)&(C1=C2)Add(MA,MB);elseprintf(矩阵MA与矩阵MB不能相减!n);break;case 4:if(R1=R2)&(C1=C2)Subtraction(MA,MB);elseprintf(矩阵MA与矩阵MB不能相加!n);break;case 5:if(C1=R2)Multiplication(MA,MB);elseprintf(矩阵MA
4、与矩阵MB不能相乘!n);break;case 0:printf(结束!n);exit(0);break;default:printf(对不起,您的输入不合法!n);break;void Scalar(float MAC1)/矩阵数乘函数int i,j,k;printf(请输入乘数:n);scanf(%d,&k);printf(请输入%d*%d矩阵MA(每行以回车结束):n,R1,C1);for(i=0;iR1;i+)for(j=0;jC1;j+)scanf(%f,&MAij);printf(%d乘矩阵MA结果为:n,k);for(i=0;iR1;i+)for(j=0;jC1;j+)print
5、f(%6.2f ,k*MAij);printf(n);void Transposition(float MAC1)/矩阵转置函数int i,j;float MDC1R1=0;printf(请输入%d*%d矩阵MA(每行以回车结束):n,R1,C1);for(i=0;iR1;i+)for(j=0;jC1;j+)scanf(%f,&MAij);for(i=0;iR1;i+)/将矩阵MA的第n行的值赋给矩阵MD的第n列for(j=0;jC1;j+)MDji=MAij;printf(矩阵MA转置后的结果为:n);for(i=0;iC1;i+)for(j=0;jR1;j+)printf(%6.2f ,M
6、Dij);printf(n);void Add(float MAC1,float MBC2)/矩阵加法函数int i,j;float MER1C1=0;printf(请输入%d*%d矩阵MA(每行以回车结束):n,R1,C1);for(i=0;iR1;i+)for(j=0;jC1;j+)scanf(%f,&MAij);printf(请输入%d*%d矩阵MB(每行以回车结束):n,R2,C2);for(i=0;iR2;i+)for(j=0;jC2;j+)scanf(%f,&MBij);for(i=0;iR1;i+)for(j=0;jC1;j+)MEij=MAij+MBij;for(i=0;iR1
7、;i+)for(j=0;jC1;j+)printf(%6.2f ,MEij);printf(n);void Subtraction(float MAC1,float MBC2)/矩阵减法函数int i,j;float MFR1C1=0;printf(请输入%d*%d矩阵MA(每行以回车结束):n,R1,C1);for(i=0;iR1;i+)for(j=0;jC1;j+)scanf(%f,&MAij);printf(请输入%d*%d矩阵MB(每行以回车结束):n,R2,C2);for(i=0;iR2;i+)for(j=0;jC2;j+)scanf(%f,&MBij);for(i=0;iR1;i+
8、)for(j=0;jC1;j+)MFij=MAij-MBij;for(i=0;iR1;i+)for(j=0;jC1;j+)printf(%6.2f ,MFij);printf(n);void Multiplication(float MAC1,float MBC2)/矩阵相乘函数int i,j,k;float MGR1C2=0;printf(请输入%d*%d矩阵MA(每行以回车结束):n,R1,C1);for(i=0;iR1;i+)for(j=0;jC1;j+)scanf(%f,&MAij);printf(请输入%d*%d矩阵MB(每行以回车结束):n,R2,C2);for(i=0;iR2;i+)for(j=0;jC2;j+)scanf(%f,&MBij);for(i=0;iR1;i+)for(j=0;jC2;j+)for(k=0;kC1;k+)MGij=MGij+MAik*MBkj;for(i=0;iR1;i+)for(j=0;jC2;j+)printf(%6.2f ,MGij);printf(n);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2