<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            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

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院