编辑代码

#include <stdio.h>
#include <iostream>
#include <cmath>
int main () {
    float AI[5][10]={
        {3,2,4,0,1,0,0,0},
        {2,3,2,1,0,1,0,0},
        {4,2,5,2,0,0,1,0},
        {0,1,2,10,0,0,0,1}
    };
    float a;
    for (int k=0;k<3;k++){
        for (int j=k+1;j<4;j++){
            if(AI[j][k]!=0){
                a=AI[j][k];
                for(int i=0;i<9;i++){
                    AI[j][i]-=a/AI[k][k]*AI[k][i];
                }
            }
        }
    }
    for(int k=2;k>=0;k--){
        for(int j=k;j>=0;j--){
            if(AI[j][k]!=0){
                a=AI[j][k+1];
                for(int i=0;i<8;i++){
                    AI[j][i]-=a/AI[k+1][k+1]*AI[k+1][i];
                }
            }
        }
    }
    for(int k=2;k>=0;k--){
        for(int j=k;j>0;j--){
            if(AI[j][k]!=0){
                a=AI[j][k+1];
                for(int i=0;i<8;i++){
                    AI[j][i]-=a/AI[k+1][k+1]*AI[k+1][i];
                }
            }
        }
    }
    for(int j=0;j<4;j++){
        a=AI[j][j];
        for(int i=0;i<8;i++){
            AI[j][i]/=a;
            if(fabs(AI[j][i])<1e-9){
                AI[j][i]=0.0;
            }
            printf("%.6f     ",AI[j][i]);
        }
        printf("\n");
    }
    return 0;
}