不知道哪里判有问题
#2#4#5#8#9#12
#include<bits/stdc++.h>
using namespace std;
double b[102][101];
double answer[101];
const double eps = 1e-6;
int main()
{
int a;
cin>>a;
for(int i=1;i<=a;i++)
{
for(int j=1;j<=a+1;j++)
{
cin>>b[i][j];
}
}
for(int i=1;i<a;i++)
{
for(int j=i+1;j<=a;j++)
{
if(-eps<=b[i][i] && b[i][i]<=eps){
-eps<=b[j][i] && b[j][i]<=eps? cout<<"0" : cout<<"-1";
return 0;
}
double bei=-b[j][i]/b[i][i];
for(int k=1;k<=a+1;k++)
{
b[j][k]=b[i][k]*bei+b[j][k];
}
}
}
// for(int i=1;i<=a;i++)
// {
// for(int j=1;j<=a+1;j++)
// {
// cout<<fixed<<setprecision(2)<<b[i][j]<<' ';
// }
// cout<<"\n";
// }
int j;
for(int i=a;i>=1;i--){
for(j=a;j>=i+1;j--){
b[i][a+1]-=answer[j]*b[i][j];
// if(b[i][j] == 0) break;
}
if(-eps<=b[i][i] && b[i][i]<=eps){
-eps<=b[i][a+1] && b[i][a+1] <=eps ?cout<<"0":cout<<"-1";
return 0;
}
answer[i] = b[i][a+1]/b[i][i];
}
for(int i=1;i<=a;i++){
cout<<"x"<<i<<"="<<fixed<<setprecision(2)<<answer[i]<<endl;
}
return 0;
}