求一元二次方程ax 2 +bx+c=0的根,其中a不等于0。结果要求精确到小数点后5位。c++代码
时间: 2024-01-01 22:03:20 浏览: 174
求一元二次方程的根
以下是求一元二次方程的根的C++代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a, b, c;
double delta, x1, x2;
cout << "请输入一元二次方程的系数a, b, c:" << endl;
cin >> a >> b >> c;
delta = b * b - 4 * a * c; // 计算判别式
if (delta < 0) {
cout << "方程无实数根!" << endl;
} else if (delta == 0) {
x1 = x2 = -b / (2 * a);
cout << "方程有两个相等的实数根,x1 = x2 = " << x1 << endl;
} else {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
cout << "方程有两个不相等的实数根,x1 = " << x1 << ", x2 = " << x2 << endl;
}
return 0;
}
```
注意,delta小于0时,方程无实数根;delta等于0时,方程有两个相等的实数根;delta大于0时,方程有两个不相等的实数根。此外,为了保证结果精确到小数点后5位,我们可以使用C++中的`setprecision()`函数来设置输出精度,例如:
```cpp
cout << "x1 = " << setprecision(5) << x1 << ", x2 = " << setprecision(5) << x2 << endl;
```
阅读全文