const int maxn=105;
typedef double Matrix[maxn][maxn];
Matrix A,S;
//n是方程的个数
void gauss(Matrix A,int n)
{
int i,j,k,r;
for(int i=0; i<n; i++)
{
r=i;
for( j=i+1; j<n; j++)
if(fabs(A[j][i])>fabs(A[r][i]))r=j;
if(r!=i)
for(j=0; j<=n; j++)swap(A[r][j],A[i][j]);
for(k=i+1; k<n; k++)
{
double f=A[k][i]/A[i][i];
for(j=i; j<=n; j++)
A[k][j]-=f*A[i][j];
}
}
for(i=n-1; i>=0; i--)
{
for(j=i+1; j<n; j++)
A[i][n]-=A[j][n]*A[i][j];
A[i][n]/=A[i][i];
}
}
输出4个方程组时方程解;
for(int i=0; i<4; i++)
{
printf("%8.2f\n",A[i][4]);
}