⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gauss.c

📁 这是一个gauss算法实现的C代码。本算法采用的是具有行交换的列主元素消去法。
💻 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 + -