用C语言实现矩阵运算.docx

上传人:b****0 文档编号:9044657 上传时间:2023-05-16 格式:DOCX 页数:10 大小:14.94KB
下载 相关 举报
用C语言实现矩阵运算.docx_第1页
第1页 / 共10页
用C语言实现矩阵运算.docx_第2页
第2页 / 共10页
用C语言实现矩阵运算.docx_第3页
第3页 / 共10页
用C语言实现矩阵运算.docx_第4页
第4页 / 共10页
用C语言实现矩阵运算.docx_第5页
第5页 / 共10页
用C语言实现矩阵运算.docx_第6页
第6页 / 共10页
用C语言实现矩阵运算.docx_第7页
第7页 / 共10页
用C语言实现矩阵运算.docx_第8页
第8页 / 共10页
用C语言实现矩阵运算.docx_第9页
第9页 / 共10页
用C语言实现矩阵运算.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

用C语言实现矩阵运算.docx

《用C语言实现矩阵运算.docx》由会员分享,可在线阅读,更多相关《用C语言实现矩阵运算.docx(10页珍藏版)》请在冰点文库上搜索。

用C语言实现矩阵运算.docx

用C语言实现矩阵运算

资料范本

 

本资料为word版本,可以直接编辑和打印,感谢您的下载

 

用C语言实现矩阵运算

 

地点:

__________________

时间:

__________________

 

说明:

本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容

//任务二:

矩阵的基本运算

#include

#include

#defineR14//矩阵MA行数,可以按具体情况修改

#defineC14//矩阵MA列数,可以按具体情况修改

#defineR24//矩阵MB行数,可以按具体情况修改

#defineC24//矩阵MB列数,可以按具体情况修改

voidScalar(floatMA[][C1]);

voidTransposition(floatMA[][C1]);

voidAdd(floatMA[][C1],floatMB[][C2]);

voidSubtraction(floatMA[][C1],floatMB[][C2]);

voidMultiplication(floatMA[][C1],floatMB[][C2]);

voidmain()

{

floatMA[R1][C1],MB[R2][C2];

intc;

while

(1)

{

printf("功能如下:

\n");

printf("数乘矩阵1\n");

printf("矩阵转换2\n");

printf("矩阵相加3\n");

printf("矩阵相减4\n");

printf("矩阵乘法5\n");

printf("结束0\n");

printf("请选定您需要的操作:

\n");

scanf("%d",&c);

switch(c)

{

case1:

Scalar(MA);

break;

case2:

Transposition(MA);

break;

case3:

if((R1==R2)&&(C1==C2))

Add(MA,MB);

else

printf("矩阵MA与矩阵MB不能相减!

\n");

break;

case4:

if((R1==R2)&&(C1==C2))

Subtraction(MA,MB);

else

printf("矩阵MA与矩阵MB不能相加!

\n");

break;

case5:

if(C1==R2)

Multiplication(MA,MB);

else

printf("矩阵MA与矩阵MB不能相乘!

\n");

break;

case0:

printf("结束!

\n");

exit(0);

break;

default:

printf("对不起,您的输入不合法!

\n");

break;

}

}

}

voidScalar(floatMA[][C1])//矩阵数乘函数

{

inti,j,k;

printf("请输入乘数:

\n");

scanf("%d",&k);

printf("请输入%d*%d矩阵MA(每行以回车结束):

\n",R1,C1);

for(i=0;i

{

for(j=0;j

{

scanf("%f",&MA[i][j]);

}

}

printf("%d乘矩阵MA结果为:

\n",k);

for(i=0;i

{

for(j=0;j

{

printf("%6.2f",k*MA[i][j]);

}

printf("\n");

}

}

voidTransposition(floatMA[][C1])//矩阵转置函数

{

inti,j;

floatMD[C1][R1]={0};

printf("请输入%d*%d矩阵MA(每行以回车结束):

\n",R1,C1);

for(i=0;i

{

for(j=0;j

{

scanf("%f",&MA[i][j]);

}

}

for(i=0;i

{

for(j=0;j

{

MD[j][i]=MA[i][j];

}

}

printf("矩阵MA转置后的结果为:

\n");

for(i=0;i

{

for(j=0;j

{

printf("%6.2f",MD[i][j]);

}

printf("\n");

}

}

voidAdd(floatMA[][C1],floatMB[][C2])//矩阵加法函数

{

inti,j;

floatME[R1][C1]={0};

printf("请输入%d*%d矩阵MA(每行以回车结束):

\n",R1,C1);

for(i=0;i

{

for(j=0;j

{

scanf("%f",&MA[i][j]);

}

}

printf("请输入%d*%d矩阵MB(每行以回车结束):

\n",R2,C2);

for(i=0;i

{

for(j=0;j

{

scanf("%f",&MB[i][j]);

}

}

for(i=0;i

{

for(j=0;j

{

ME[i][j]=MA[i][j]+MB[i][j];

}

}

for(i=0;i

{

for(j=0;j

{

printf("%6.2f",ME[i][j]);

}

printf("\n");

}

}

voidSubtraction(floatMA[][C1],floatMB[][C2])//矩阵减法函数

{

inti,j;

floatMF[R1][C1]={0};

printf("请输入%d*%d矩阵MA(每行以回车结束):

\n",R1,C1);

for(i=0;i

{

for(j=0;j

{

scanf("%f",&MA[i][j]);

}

}

printf("请输入%d*%d矩阵MB(每行以回车结束):

\n",R2,C2);

for(i=0;i

{

for(j=0;j

{

scanf("%f",&MB[i][j]);

}

}

for(i=0;i

{

for(j=0;j

{

MF[i][j]=MA[i][j]-MB[i][j];

}

}

for(i=0;i

{

for(j=0;j

{

printf("%6.2f",MF[i][j]);

}

printf("\n");

}

}

voidMultiplication(floatMA[][C1],floatMB[][C2])//矩阵相乘函数

{

inti,j,k;

floatMG[R1][C2]={0};

printf("请输入%d*%d矩阵MA(每行以回车结束):

\n",R1,C1);

for(i=0;i

{

for(j=0;j

{

scanf("%f",&MA[i][j]);

}

}

printf("请输入%d*%d矩阵MB(每行以回车结束):

\n",R2,C2);

for(i=0;i

{

for(j=0;j

{

scanf("%f",&MB[i][j]);

}

}

for(i=0;i

{

for(j=0;j

{

for(k=0;k

{

MG[i][j]=MG[i][j]+MA[i][k]*MB[k][j];

}

}

}

for(i=0;i

{

for(j=0;j

{

printf("%6.2f",MG[i][j]);

}

printf("\n");

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2