有缺陷的一元三次方程求解設計(盛金公式)

2021-06-16 14:52:23 字數 1076 閱讀 2672

先放**:

#include #include //cube_sqrt.h

double abs(double x)

double cube_sqrt(double x)

return middle;

}

#include #include #include "cube_sqrt.h"

using namespace std;

//equation_solution.h

vectorequation_solution_1(double a, double b, double c, double d)

else if(d>0)

else if(d==0)

else if(d<0)

}

#include #include #include "equation_solution.h"

using namespace std;

// equation_solution_main.cpp

int main()

if(result.size()==5)

cout << "求解完畢。\n" << endl;

} return 0;

}

如標題,本一元三次方程求解運用的是盛金公式。速度較快,資源佔用率也較低。

.net的電腦不在身邊,在一台古董上測試。windows xp visual c++ 6.0 測試通過。

兩個小時做下來,感想如下:

1. abs運用了函式過載,c++標準庫函式abs只支援int型別,不符合需求。

2. 立方根運用的是迭代(二分法),c++標準庫函式pow函式精度不符合要求且不支援負數。

3. 沒有做判別式無解判別,原因是沒有必要。

4. 不是圖形介面,僅為核心;控制台應用程式的cout還是花了較多時間設計的,盡量友好。

5. 重大缺陷:只支援方程的一般式,最終目標應為實現三次以下各類一元方程的求解。

6. 新手入門,望得到老手的指導。謝。

一元三次方程 盛金公式求解

先說一下中間出現的問題,開三次方的時候不能直接pow x,1.0 3.0 要分x大於零小於零,pow只接受大於零的引數。另外,由於工程中只考慮實數,這裡複數沒有實現。pragma once class cubicsolute void judge double getx1 double getx2 ...

一元三次方程求解

有形如 ax 3 bx 2 cx d 0這樣的乙個一元三次方程。給出該方程中各項的係數 a,b,c,d均為實數 並約定該方程存在三個不同實根 根的範圍在 100至100之間 且根與根之差的絕對值 1。要求由小到大依次在同一行輸出這三個實根 根與根之間留有空格 並精確到小數點後2位。輸入有多行測試資料...

一元三次方程求解

問題描述 有形如 ax 3 bx 2 cx d 0 這樣的乙個一元三次方程。給出該方程中各項的係數 a,b,c,d 均為實數 並約定該方程存在三個不同實根 根的範圍在 100至100之間 且根與根之差的絕對值 1。要求三個實根。輸入格式 四個實數 a,b,c,d 輸出格式 由小到大依次在同一行輸出這...