#include<stdio.h>
int main()
long bs=4,i,j,n;
//矩阵第一列求逆
for(i = 1; i < bs; i++ )
{
l[i][0]=-l[i][0];
}
//bs表示矩阵的维数
for(n=1;n<bs-1;n++)
{
for(i = n+1; i < bs; i++)
{
for(j = 0; j < n; j++)
{
l[i][j]-=l[n][j]*l[i][n];
}
l[i][n]=-l[i][n];
}
}
for(i=0;i<bs;i++)
{
for(j=0;j<bs;j++)
{
printf("%.2f ",l[i][j]);
}
printf("\n");
}
return 0;
}
int main()
{
//矩阵保存在二位数组也可以随机生成
double l[4][4]={1,0,0,0,2,1,0,0,3,2,1,0,5,4,2,1};long bs=4,i,j,n;
//矩阵第一列求逆
for(i = 1; i < bs; i++ )
{
l[i][0]=-l[i][0];
}
//bs表示矩阵的维数
for(n=1;n<bs-1;n++)
{
for(i = n+1; i < bs; i++)
{
for(j = 0; j < n; j++)
{
l[i][j]-=l[n][j]*l[i][n];
}
l[i][n]=-l[i][n];
}
}
//求逆后保存在原矩阵
//打印矩阵
for(i=0;i<bs;i++)
{
for(j=0;j<bs;j++)
{
printf("%.2f ",l[i][j]);
}
printf("\n");
}
return 0;
}