高斯消去法第二步消元感觉一直算不对,找不到原因,请大家帮忙看一下

include

include

double data[3][4]={{2,2,2,1},{3,2,4,0.5},{1,3,9,2.5}};

int main()
{
double k[4];
int i,j,n;
double m;
for(j=0;j {
for(i=2;i>j;i--)
{
if(fabs(data[i][j])>fabs(data[i-1][j]))
{
for(n=0;n<4;n++)
{
k[n]=data[i][n];
data[i][n]=data[i-1][n];
data[i-1][n]=k[n];
}
}
}

}

for(i=0;i<3;i++)

{
for(j=0;j<4;j++)
printf("%.2lf\t",data[i][j]);
printf("\n");
}

for(i=0;i<3;i++)
{
if(data[i][i]!=0)
    {
        m=1/data[i][i];
        for(n=0;n<4;n++)
        data[i][n]=data[i][n]*m;
    }
for(j=i+1;j<3;j++)
{
    for(n=0;n<4;n++)
    {
    data[j][n]=data[j][n]-data[j][i]*data[i][n];    
    }

}   
}
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%.2lf\t",data[i][j]);
printf("\n");
}

return 0;   

}


https://blog.csdn.net/qq_36558948/article/details/80508276