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

📄 高斯列主消去法.cpp

📁 数值计算程序 包括:变步长梯形公式算法、二叉树算法、二分法、高斯列主消去法、曲线拟合算法等
💻 CPP
字号:
#include<stdio.h>
#include<math.h>
float yhf(float a[][3],int i,float b[3])
   {float s=0;int m;
     for(m=i+1;m<3;m++)
       s+=a[i][m]*b[m];
    return s;}
void main( )
{float a[3][3],b[3],x[3],d,t;
int i,j,k,l;
for(i=0;i<3;i++)
    for(j=0;j<3;j++)
      scanf("%f",&a[i][j]);
for(i=0;i<3;i++)
      scanf("%f",&b[i]);
         k=0;
while(k!=3)
{
{d=a[k][k];l=k;i=k+1;
    do
      {if(fabs(a[i][k])>fabs(d))
         {d=a[i][k];l=i;}
       if(i!=3)
          i=i+1;
       else break;}
    while(i!=3);
     if(i==3)
       if(d==0) break;
       else
   if(l!=k)
                {for(j=k;j<3;j++)
                   {t=a[l][j];a[l][j]=a[k][j];a[k][j]=t;}
                 t=b[l];b[l]=b[k];b[k]=t;}}
        for(j=k+1;j<3;j++)
            a[k][j]=a[k][j]/a[k][k];
        b[k]=b[k]/a[k][k];
for(i=k+1;i<3;i++)
          for(j=k+1;j<3;j++)
            a[i][j]=a[i][j]-a[i][k]*a[k][j];
        for(i=k+1;i<3;i++)
          b[i]=b[i]-a[i][k]*b[k];
if(k!=3)
          k=k+1;
        else break;}
if(d==0)
printf("can't use Gauss");
if(k==3)
   for(i=2;i>=0;i--)
    b[i]=b[i]-yhf(a,i,b);
for(i=0;i<3;i++)
printf("%f ",b[i]);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -