我正在撰寫一個 C 程式來找到真正的根,x 用于三次方程 〖ax〗^3 〖bx〗^2 cx d=0 其中 a≠0 和 b=0。
不幸的是,我無法輸出“測驗用例 1 和 4”(ps. 鏈接下方提供的示例輸出)。也許我的編碼中有任何邏輯語法?如果有人能告訴我正確的方法,將不勝感激。
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main (){
int a , b, c , d;
double x , y;
double interval1, interval2;
bool stop;
b = 0;
x = 0;
stop = true;
cin >> a;
cin >> c;
cin >> d;
interval1 = a * pow(x , 3) b * pow(x , 2) c * x d;
if (interval1 < 0){
interval2 = interval1 *-1;
}else{
interval2 = interval1;
interval1 = interval2 * -1;
}
while (stop=true){
x = interval1;
y = a * pow(x , 3) b * pow(x , 2) c * x d;
if(y>0 && y<0.001){
break;
}else {
if (x<interval2) {
interval1 = x 0.000001;
}else{
stop = false;
}
}
}
if (x==-0){
x = 0;
}
if(a==0){
cout << "NOT VALID" << endl;
}else{
std::cout << std::fixed << std::setprecision(3) << x;
}
return 0;
}
程式的示例輸出 偽代碼
uj5u.com熱心網友回復:
你的代碼幾乎完成了。你需要改進一些點。
更改
int a , b, c , d;為double a , b, c , d;將條件更改
while (stop=true)為while (stop==true)
我進行了測驗,它可以作為您的示例。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/428632.html
