<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. C語言

    C語言解3元1次方程組示例

    時間:2025-02-23 11:37:23 C語言 我要投稿
    • 相關推薦

    C語言解3元1次方程組示例

      3元1次方程很多算法都和矩陣相關,怎樣寫個算線性方程組的程序呢?以下是為大家分享的C語言解3元1次方程組示例,供大家參考借鑒,歡迎瀏覽!

      復制代碼 代碼如下:

      #include "stdafx.h"//VS2010需要

      #include "stdio.h"

      #include "stdlib.h"

      #include "math.h"

      double x[3];//存放解x,y,z,使用數組便于輸出

      //x=1,y=2,z=3

      //double A[3][4]=

      //{

      //1,1,1,-6,

      //1,1,-1,0,

      //1,-1,1,-2

      //};

      //x=2,y=5,z=10

      double A[3][4]=

      {

      1,2,3,-42,

      2,-1,5,-49,

      -1,3,-3,17

      };

      //A的第一個方程分別與2、3個方程聯合消去z,得到x,y的兩個方程,存入B

      double B[2][4];

      //B的兩個方程聯合消去y,得到x

      double C[1][4];

      void CombineB(int i)//A[0]與A[1]或A[2]消去z

      {

      double m0=abs(A[i][2]);

      int b=A[0][2]*A[i][2]>0?-1:1;

      double mi=b*abs(A[0][2]);

      //printf("m0=%lf,mi=%lfn",m0,mi);//調試用

      for(int j=0;j<4;j++)

      {

      B[i-1][j]=A[0][j]*m0+A[i][j]*mi;

      }

      }

      void CombineC()//B[0]與B[1]消去y

      {

      double m0=abs(B[1][1]);

      int b=B[0][1]*B[1][1]>0?-1:1;

      double m1=b*abs(B[0][1]);

      for(int j=0;j<4;j++)

      {

      C[0][j]=B[0][j]*m0+B[1][j]*m1;

      }

      }

      //顯示4個參數

      void Show(double N[][4],int d1)

      {

      char W[3]={'x','y','z'};

      for(int i=0;i<d1;i++)

      {

      for(int j=0;j<3;j++)

      {

      printf("%lf * %c + ",N[i][j],W[j]);

      }

      printf("%lf = 0n",N[i][3]);

      }

      printf("nn");

      }

      int _tmain(int argc, _TCHAR* argv[])

      {

      Show(A,3);

      CombineB(1);

      CombineB(2);

      Show(B,2);

      CombineC();

      Show(C,1);

      //得到x后則依次算出其他數字

      x[0]=(0-C[0][3])/C[0][0];

      x[1]=(0-B[0][3]-B[0][0]*x[0])/B[0][1];

      x[2]=(0-A[0][3]-A[0][0]*x[0]-A[0][1]*x[1])/A[0][2];

      //輸出結果

      for(int i=0;i<3;i++)

      printf("x[%d]=%lft",i,x[i]);

      printf("n");

      system("pause");

      return 0;

      }

      2.截圖

    【C語言解3元1次方程組示例】相關文章:

    C語言基本語法示例08-15

    c語言線程終止練習示例06-03

    C語言計算日期差的方法示例09-21

    C語言socket編程開發應用示例10-21

    希爾排序算法的C語言實現示例08-30

    C語言循環基礎知識附代碼示例04-12

    桶排序算法的理解及C語言版代碼示例07-11

    c語言指針中的二級指針示例詳解11-07

    c++函數指針使用示例07-26

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人