|
#include "stdio.h"
#include "math.h"
#define N 2
#define M 3
main()
{double a[N+1][M+1],g;int i,j,k,l;
for(i=1;i<N+1;i++){
for(j=1;j<M+1;j++)
scanf("%f",&a[j]);
}
for(i=1;i<N+1;i++){ g=fabs(a);l=i;
for(j=i+1;j<N+1;j++) if(fabs(a[j])>g) {g=fabs(a[j]);l=j;}
if(g!=0) for(k=i;k<M+1;k++)
{g=a[k];a[k]=a[l][k];a[l][k]=g;}
if(a!=0)
for(k=1;k<N+1;k++) {if(k==i) continue;
if(a[k]!=0) {a[k]=a[k]/a; for(l=i+1;l<M+1;l++)
a[k][l]=a[k][l]-a[k]*a[l];
}
}
for(i=1;i<N+1;i++) printf("%f\n",a[M]/a);
}
}
这是我编的求二元一次方程组的c程序,但用2,2 ,4;2,3,5;带入时结果是1和0.5,啊有哪位高手帮我看看啊!!!! |
|