#include<stdio.h>
#define N
3
int ff(int a[2][2]);
void gg(int a[N][N+1]);
void ss(int a[N][N+1]);
float T(int y);
int i,j,l,y;
int a[N][N+1];
float x[N];
void mm(int a[N][N+1])
{
for(i=0;i<N;i++)
for(j=0;j<N+1;j++)
scanf("%d",&a[i][j]);
ss(a);
gg(a);
}
void ss(int a[N][N+1])
{
for (l=0;l<N;l++)
{
for(i=l;i<N-1;i++)
{
int n=a[i+1][l];
for(j=l;j<N+1;j++)
{
int m=a[l][l];
int b[2][2]={m ,n,a[l][j],a[i+1][j]};
a[i+1][j]=ff(b);
}
}
gg(a);
printf("\n");
}
}
int ff(int a[2][2])
{
return a[0][0]*a[1][1]-a[0][1]*a[1][0];
}
void gg(int a[N][N+1])
{
for(i=0;i<N;i++)
{
for(j=0;j<=N;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
void main()
{
printf("请输入%d元线性方程系数\n",N);
mm(a);
x[N-1]=float(a[N-1][N])/a[N-1][N-1];
for(y=N-1;y>=0;y--)
x[y]=(a[y][N]-T(y))/a[y][y];
for(y=0;y<N;y++)
printf("x%d=%f\n",y+1,x[y]);
}
float T(int y)
{
float s=0;
int o=y;
while(y+1<N)
{
s+=x[y+1]*a[o][y+1];
y++;
}
return s;
}
这个如何?