矩阵的运算程序(C语言版) 下载本文

#include #define M 20 #define N 20 float A[M][N]; float B[M][N]; float C[M][N]; int i,j,m,n,p,q; float y=1.0; void main() {

printf(\printf(\欢迎您使用矩阵函数包系统。 ######\\n\printf(\系统功能: ######\\n\

printf(\计算两个矩阵相加,相减; ######\\n\printf(\数乘矩阵;矩阵转置;求逆 ######\\n\printf(\矩阵 ######\\n\

printf(\printf(\请选择您需要的运算,按回车键结束\\n\

printf(\*****\\n\

printf(\,矩阵相加\\n\printf(\,矩阵相减\\n\printf(\,数乘矩阵\\n\printf(\,矩阵转置\\n\printf(\,逆矩阵 \\n\printf(\,退出 \\n\

printf(\*****\\n\int x;

scanf(\switch (x) {

case 1: {

printf(\请输入矩阵A的行数和列数(用逗号隔开):\scanf(\

printf(\请输入矩阵B的行数和列数(用逗号隔开):\scanf(\if(i!=m||j!=n)

printf(\对不起,您输入的两个矩阵不能相加,请重试.***\\n\else printf(\请输入矩阵A:\\n\for(p=0;p

scanf(\

printf(\输出矩阵A:\\n\for(p=0;p

printf(\if((q+1)%j==0) printf(\}

printf(\请输入矩阵B:\\n\for(p=0;p

scanf(\

printf(\输出矩阵B:\\n\for(p=0;p

printf(\if((q+1)%j==0) printf(\}

printf(\矩阵A+矩阵B为:\\n\计算两个矩阵相加 for(p=0;p

C[p][q]=A[p][q]+B[p][q]; for(p=0;p

printf(\if((q+1)%j==0) printf(\}

};break; case 2: {

printf(\请输入矩阵A的行数和列数(用逗号隔开):\scanf(\

printf(\请输入矩阵B的行数和列数(用逗号隔开):\scanf(\if(i!=m||j!=n)

printf(\对不起,您输入的两个矩阵不能相减,请重试.***\\n\else printf(\请输入矩阵A:\\n\for(p=0;p

scanf(\printf(\输出矩阵A:\\n\for(p=0;p

printf(\if((q+1)%j==0) printf(\}

printf(\请输入矩阵B:\\n\for(p=0;p

scanf(\

printf(\输出第矩阵B:\\n\for(p=0;p

printf(\if((q+1)%j==0) printf(\}

printf(\矩阵A-矩阵B为:\\n\计算两个矩阵相减 for(p=0;p

C[p][q]=A[p][q]-B[p][q]; for(p=0;p

printf(\if((q+1)%j==0) printf(\}

};break; case 3: {

float k;

printf(\请输入矩阵A的行数和列数(用逗号隔开):\scanf(\

printf(\请输入矩阵A\\n\for(p=0;p

scanf(\printf(\输出矩阵A\\n\

for(p=0;p

printf(\if((q+1)%j==0) printf(\}

printf(\请输入一个实数:\\n\scanf(\

for(p=0;p

for(q=0;q

printf(\输出k乘矩阵A的结果\\n\for(p=0;p

printf(\if((q+1)%j==0) printf(\ }

};break; case 4: {

printf(\请输入矩阵A的行数和列数(用逗号隔开):\scanf(\printf(\请输入矩阵A:\\n\for(p=0;p

scanf(\printf(\输出矩阵A\\n\for(p=0;p

printf(\if((q+1)%j==0) printf(\ }

for(p=0;p

printf(\输出矩阵A的转置矩阵:\\n\for(p=0;p