代码:
#include<bits/stdc++.h>
using namespace std;
int n;
double mp[105][105];
const double kkk=1e-6;
int main(){
cin >> n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n+1;j++){
cin >> mp[i][j];
}
}
int key=1;
for(int i=1;i<=n;i++){
int r=i;
for(int j=i+1;j<=n;j++){
if(fabs(mp[r][i])<fabs(mp[j][i])) r=j;
}
if(i!=r) swap(mp[r],mp[i]);
if(fabs(mp[i][i])<=kkk) continue;
for(int j=1;j<=n;j++){
if(i==j) continue;
double div=mp[j][i]/mp[i][i];
for(int k=i;k<=n+1;k++){
mp[j][k]-=mp[i][k]*div;
}
}
}
for(int i=1;i<=n;i++){
if(fabs(mp[i][i])<=kkk){
if(fabs(mp[i][n+1])>kkk) key=-1;
else if(key!=-1) key=0;
}
}
if(key!=1){
printf("%d\n",key);
return 0;
}
for(int i=1;i<=n;i++) printf("x%d=%.2lf\n",i,mp[i][n+1]/mp[i][i]);
}