//任务二:矩阵的基本运算 #include #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("%d",&c); 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("%d",&k); printf("请输入%d*%d 矩阵MA(每行以回车结束):\n",R1,C1); for(i=0;i