📄 n.txt
字号:
#include <stdio.h>
#include <malloc.h>
void main( void )
{
float *buffer,*p; //定义数组首地址指针变量
short int row,num; //定义矩阵行数row及矩阵元素个数
short int i,j;
float determ; //定义矩阵的行列式
float comput_D(float *p,short int n); //求矩阵的行列式
float Creat_M(float *p, short int m,short int n,short int k); //求代数余子式
void Print( float *p,short int n); //打印n×n的矩阵
printf("\nPlease input the number of rows: ");
scanf("%d",&row);
num=2 * row * row;
buffer = (float *)calloc(num, sizeof(float)); //分配内存单元
p=buffer;
if(p != NULL)
{
for(i=0;i<row;i++) //输入各单元值
{
printf("Input the number of %d row ",i+1);
for(j=0;j<row;j++)
{
scanf("%f",p++);
}
}
}
else
printf( "Can't allocate memory\n" );
printf("\nThe original matrix is:\n");
Print(buffer,row); //打印该矩阵
determ=comput_D(buffer,row); //求整个矩阵的行列式
p=buffer + row * row;
if (determ != 0)
{
for (i=0;i<row; i++) //求逆矩阵
for (j=0; j<row; j++)
*(p+j*row+i)= Creat_M(buffer,i,j,row)/determ;
printf("The determinant is %G\n",determ);
p=buffer + row * row;
printf("\nThe inverse matrix is:\n");
Print(p,row); //打印该矩阵
}
else
printf("The determnant is 0, and there is no inverse matrix !\n");
free( buffer );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -