当前位置:首页 > 用C语言实现矩阵运算
//任务二:矩阵的基本运算 #include
#define R1 4//矩阵MA行数,可以按具体情况修改 #define C1 4//矩阵MA列数,可以按具体情况修改 #define R2 4//矩阵MB行数,可以按具体情况修改 #define C2 4//矩阵MB列数,可以按具体情况修改 void Scalar(float MA[][C1]);
void Transposition(float MA[][C1]);
void Add(float MA[][C1],float MB[][C2]);
void Subtraction(float MA[][C1],float MB[][C2]); void Multiplication(float MA[][C1],float MB[][C2]); void main() { float MA[R1][C1],MB[R2][C2]; int c; 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(\ switch(c) { case 1:
Scalar(MA); break; case 2: Transposition(MA); break; case 3: if((R1==R2)&&(C1==C2)) Add(MA,MB); else printf(\矩阵MA与矩阵MB不能相减!\\n\ break; case 4: if((R1==R2)&&(C1==C2))
Subtraction(MA,MB); else printf(\矩阵MA与矩阵MB不能相加!\\n\ break; case 5: if(C1==R2) Multiplication(MA,MB); else printf(\矩阵MA与矩阵MB不能相乘!\\n\ break; case 0: printf(\结束!\\n\ exit(0); break; default: printf(\对不起,您的输入不合法!\\n\ break; } } }
void Scalar(float MA[][C1])//矩阵数乘函数 { int i,j,k; printf(\请输入乘数:\\n\ scanf(\ printf(\请输入%d*%d矩阵MA(每行以回车结束):\\n\ for(i=0;i } void Transposition(float MA[][C1])//矩阵转置函数 { int i,j; float MD[C1][R1]={0}; printf(\请输入%d*%d矩阵MA(每行以回车结束):\\n\ for(i=0;i void Add(float MA[][C1],float MB[][C2])//矩阵加法函数 { int i,j; float ME[R1][C1]={0}; printf(\请输入%d*%d矩阵MA(每行以回车结束):\\n\ for(i=0;i { for(j=0;j printf(\ } printf(\ } } void Subtraction(float MA[][C1],float MB[][C2])//矩阵减法函数 { int i,j; float MF[R1][C1]={0}; printf(\请输入%d*%d矩阵MA(每行以回车结束):\\n\ for(i=0;i
共分享92篇相关文档