#include <stdio.h>
#include <math.h>
#define N 5 //5*5为例
#define eps 1e-6
//解线性方程组原理是高斯消元,实际上只要用每列第一个不为0的数将所在列其他不为0数都化为0,
//最后第k列不为0的数对应bk即为解xk
//暂不考虑无解和无穷多解求基础解系情形
//解决n*n,同时有唯一解情况
int main(){
float a[N][N], b[N], x[N];
bool flag[N];
int temp, temp1; //记录非零元素所在行数
float atemp, atemp1;
for (int i = 0; i < N; i++){
for (int j = 0; j < N; j++)
scanf("%f", &a[i][j]);
scanf("%f", &b[i]);
flag[i] = false;
}
for (int j = 0; j < N; j++){
for (int i = 0; i < N; i++){
if (fabs(a[i][j]) > eps && !flag[i]){
temp = i;
flag[i] = true;