预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

....word..//任务二:矩阵的基本运算#include<stdio.h>#include<stdlib.h>#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);elseprintf("矩阵MA与矩阵MB不能相减!\n");break;case4:if((R1==R2)&&(C1==C2))Subtraction(MA,MB);elseprintf("矩阵MA与矩阵MB不能相加!\n");break;case5:if(C1==R2)Multiplication(MA,MB);elseprintf("矩阵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<R1;i++){for(j=0;j<C1;j++){scanf("%f",&MA[i][j]);}}printf("%d乘矩阵MA结果为:\n",k);for(i=0;i<R1;i++){for(j=0;j<C1;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<R1;i++){for(j=0;j<C1;j++){scanf("%f",&MA[i][j]);}}for(i=0;i<R1;i++)//将矩阵MA的第n行的值赋给矩阵MD的第n列{for(j=0;j<C1;j++){MD[j][i]=MA[i][j];}}printf("矩阵MA转置后的结果为:\n");for(i=0;i<C1;i++){for(j=0;j<R1;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<R1;i++){for(j=0;j<C1;j++){scanf("%f",&MA[i][j]);}}printf("请输入%d*%d矩阵MB(每行以回车结束):\n",R2,C2);for(i=0;i<R2;i++){for(j=0;j<C2;j++){scanf("%f",&MB[i][j]);}}for(i=0;i<R1;i++){for(j=0;j<C1;j++){ME[i][j]=MA[i][j]+MB[i][j];}}for(i=0;i<R1;i++){for(j=0;j<C1;j++){printf("%6.2f",ME[i][j]);}printf("\n");}}vo