先放**:
#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 輸出格式 由小到大依次在同一行輸出這...