纯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(" ###########################################\n");
??printf(" ##### 欢迎您使用矩阵函数包系统。 ######\n");
??printf(" ##### 系统功能: ######\n");
??printf(" ##### 计算两个矩阵相加,相减; ######\n");
??printf(" ##### 数乘矩阵;矩阵转置;求逆 ######\n");
??printf(" ##### 矩阵 ######\n");
??printf(" ###########################################\n");
??printf("请选择您需要的运算,按回车键结束\n");
??printf("******************************************************************\n"); printf("1,矩阵相加\n");
??printf("2,矩阵相减\n");
??printf("3,数乘矩阵\n");
??printf("4,矩阵转置\n");
??printf("5,逆矩阵 \n");
??printf("6,退出 \n");
??printf("******************************************************************\n"); int x;
??scanf("%d",&x);
??switch (x)
??{
??case 1:
??{
??printf("请输入矩阵A的行数和列数(用逗号隔开):");
??scanf("%d,%d",&i,&j);
??printf("请输入矩阵B的行数和列数(用逗号隔开):") ;
??scanf("%d,%d",&m,&n);
??if(i!=m||j!=n)
??printf("***对不起,您输入的两个矩阵不能相加,请重试.***\n");
??else printf("请输入矩阵A:\n");
??for(p=0;p
??for(q=0;q
??scanf("%f",&A[p][q]);
??printf("输出矩阵A:\n");
??for(p=0;p
??{
??printf("%10.2f",A[p][q]);
??if((q+1)%j==0)
??printf("\n");
??}
??printf("请输入矩阵B:\n");
??for(p=0;p
??for(q=0;q
??scanf("%f",&B[p][q]);
??
??printf("输出矩阵B:\n");
??for(p=0;p
??for(q=0;q
??{
??printf("%10.2f",B[p][q]);
??if((q+1)%j==0)
??printf("\n");
??}
??printf("矩阵A+矩阵B为:\n"); //计算两个矩阵相加
??for(p=0;p
??for(q=0;q
??C[p][q]=A[p][q]+B[p][q];
??for(p=0;p
??for(q=0;q
??{
??printf("%10.2f",C[p][q]);
??if((q+1)%j==0)
??printf("\n");
??}
??};break;
??case 2:
??{
??printf("请输入矩阵A的行数和列数(用逗号隔开):");
??scanf("%d,%d",&i,&j);
??printf("请输入矩阵B的行数和列数(用逗号隔开):") ;
??scanf("%d,%d",&m,&n);
??if(i!=m||j!=n)
??printf("***对不起,您输入的两个矩阵不能相减,请重试.***\n");
??else printf("请输入矩阵A:\n");
??for(p=0;p
??scanf("%f",&A[p][q]);
??printf("输出矩阵A:\n");
??for(p=0;p
??f