配色: 字号:
高斯消去法C程序实例
2014-04-28 | 阅:  转:  |  分享 
  
#include

main()

{

inti,j,n=3,k,y=0;

intl[3][3],a[3][3]={{2,-1,-1},

{3,4,-2},

{3,-2,4}

};

intb[3]={4,11,11};

intx[3];

for(k=0;k!=n-1;k++)

{

if(a[k][k]==0)

printf("算法失败");

else

{

for(i=k+1;i!=n;i++)

{

l[i][k]=a[i][k]/a[k][k];

a[i][k]=0;

b[i]=b[i]-l[i][k]b[k];

for(j=k+1;j!=n;j++)

{

a[i][j]=a[i][j]-l[i][k]a[k][j];

}

}

}

}

if(a[n-1][n-1]==0)

printf("算法失败");

else

{

x[n-1]=b[n-1]/a[n-1][n-1];

for(i=n-2;i!=-1;i--)

{

for(j=i+1;j
y=y+a[i][j]x[j];

x[i]=(b[i]-y)/a[i][i];

}

}

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

printf("x[%d]=%d",i+1,x[i]);

printf("\n");





}
献花(0)
+1
(本文系木糖小純首藏)