📄 gauss.c
字号:
# include “studio.h”
# include “math.h”
void main( )
{ float a[n][n], b[n],det,a;
int i,j,k,ik;
printf(“put in the element of A”);
for (I=0;I<n;I++)
for(j=0;j<n;j++)
scanf (“%f”,&a[I][j]);
printf (“put in the element of b”);
for(I=0;I<n;I++)
scanf (“%f”,&b[I]);
for (k=0;k<n-1;k++)
{ det=1,a=a[k][k],ik=k;
for (I=k;I<n-1;I++)
if (abs(a)<abs(a[I][k])) ik=I;
if (a[ik][k]==0)
{ printf (“error”);exit(1); }
if (ik!=k)
{ for (j=k;j<n-1;j++)
{ a=a[k][j];
a[k][j]=a[ik][j];
a[ik][j]=a;
}
a=b[k];
b[k]=b[ik];
b[ik]=a;
}
det*=-1;
for (I=k+1;I<n;I++)
a[I][k]/=a[k][k];
for (I=k+1;I<n;I++)
{ for (j=k+1;j<n;j++)
a[I][j]-= a[I][k]*a[k][j];
b[I]-= a[I][k]*b[k];
}
det*= a[k][k];
}
//回代求解
b[n]/= a[n][n];
for (I=n-2;I>=0;I--)
{ for (j=I+1;j<n;j++)
b[I]-= a[I][j]*b[j];
b[I]/= a[I][I];
}
det*= a[n][n];
for (I=0;I<n;I++)
printf (“x[I]=%f/n”,b[I]);
printg(“det=%f/n”,det);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -