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

📄 newprogram.txt

📁 列主元法解方程组C语言代码与LU分解求线性方程
💻 TXT
字号:

#include<stdio.h>

#define N 3
typedef struct
{
  float a[4];
} linear;
void main()
{
  linear A[3],t;
  A[0].a[0]=0.50;A[0].a[1]=1.1;
  A[0].a[2]=3.1;A[0].a[3]=6.0;
  A[1].a[0]=2.0;A[1].a[1]=4.5;
  A[1].a[2]=0.36;A[1].a[3]=0.2;
  A[2].a[0]=5.0;A[2].a[1]=0.96;
  A[2].a[2]=6.5;A[2].a[3]=0.96;

int i,j,l;
for(l=0;l<N;l++)
{
         for(i=l;i<N;i++)
     {
                 if(A[l].a[l]==0)
                 {
                         printf("zero err!");
                         break;
                 }
                 if(A[l].a[l]<A[i].a[l])
                 {
                         t=A[l];A[l]=A[i];A[i]=t;
                 }
         }

          for(i=l+1;i<N;i++)
                for(j=0;j<4;j++)
                {
                        A[i].a[j]=A[i].a[j]-A[l].a[j]*A[i].a[j]/A[l].a[l];
                }
}
float x[N];

int k=1;
for(i=0;i<N;i++)
         for(j=0;j<4;j++)
         {
                 printf(" A[%d].a[%d]=%f",i,j,A[i].a[j]);
                 if(k%4==0)
                         printf("\n");
                 k=k+1;
         }
printf("\n");

float s=0.0,su,nu;
int m;
for(i=N-1;i>=0;i--)
{
         if(i==2)
     {
       x[i]=A[i].a[3]/A[i].a[i];           
       continue;
     }

     for(j=N-1;j>i;j--)
     {
                 s=s+A[i].a[j]*x[j];
     }
         su=A[i].a[3]-s;
     x[i]=su/A[i].a[i];
}
    for(i=0;i<3;i++)
    {
      printf("x[%d]=%f\n",i,x[i]);
    }

}
void   shuru   (n,a)   
  int   n;   
  float   a[5][6];   
  {int   I,j;   
    float   b;   
    printf(“input   a[i][j]:\n”);   
    for   (i=0;i<=n-1;i++)   
        {   for(j=0;j<=n;j++)   
            {   scanf(“%f,”,&b);   
                printf(“%15.6f”,b);   
                a[i][j]=b;   
              }   
              printf(“\n”);   
            }   
    }   
    void   Lufenjie(n,a)   
    int     n;   
    float   a[5][6];   
    {int   I,j,k;   
      for   (i=1;i<=n-1;i++)   
          a[i][0]=a[i][0]/a[0][0];   
      for   (j=1;j<=n;j++)   
          a[1][j]=a[1][j]-a[1][0]*a[0][j];   
      for   (i=2;i<=n-1;i++)   
          {for   (j=1;j<=i-1;j++)   
                {for(k=0;k<=j-1;k++)   
                      a[i][j]=a[i][j]-a[i][k]*a[k][j];   
                    a[i][j]=a[i][j]/a[j][j];   
                    }   
              for(j=I;j<=n;j++)   
                for(k=0;k<=i-1;k++)   
                    a[i][j]=a[i][j]-a[i][k]*a[k][j];   
            }   
  }   
            
            void     huidai(n,a)   
            int   n;   
            float   a[5][6];   
            {int   i,j;   
              a[n-1][n]=a[n-1][n]/a[n-1][n-1];   
              for(i=n-2;i>=0;i--)   
                  {for(j=n-1;j>=i+1;j--)   
                        a[i][n]=a[i][n]-a[i][j]*a[j][n];   
                    a[i][n]=a[i][n]/a[i][i];   
                    }   
                }   
                main()   
                {int   i,n;   
                  float   a[5][6];   
                  printf(“input   n:\nn=”);   
                  scanf(“%d”,&n);   
                  printf(“%d\n”,n);   
                  shuru(n,a);   
                  Lufenjie(n,a);   
                  huidai(n,a);   
                  for(i=0;i<=n-1;i++)   
                      printf(“\nx[%d]=%15.6f”,i+1,a[i][n]);   
                  printf(“\n”)   
  }   

⌨️ 快捷键说明

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