求ax2+bx+c=0方程的根。a,b,c由键盘输入,设b2-4ac≥0
时间: 2024-12-12 18:20:07 浏览: 14
c代码-求ax平方+bx+c+=0
5星 · 资源好评率100%
要计算二次方程 \( ax^2 + bx + c = 0 \) 的根,当判别式 \( b^2 - 4ac \) 大于等于零时,可以使用二次公式。二次公式如下:
\[ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \]
步骤如下:
1. 从键盘读取系数 a、b 和 c。
2. 检查判别式 \( D = b^2 - 4ac \),确保它大于或等于零。如果 \( D < 0 \),则方程无实数解。
3. 计算两个解(如果有两个):\( x_1 = \frac{-b + \sqrt{D}}{2a} \) 和 \( x_2 = \frac{-b - \sqrt{D}}{2a} \)。
下面是C++代码实现这个过程:
```cpp
#include <iostream>
#include <cmath>
int main() {
double a, b, c;
std::cout << "请输入二次项系数 (a): ";
std::cin >> a;
std::cout << "请输入一次项系数 (b): ";
std::cin >> b;
std::cout << "请输入常数项系数 (c): ";
std::cin >> c;
// 计算判别式
double discriminant = b * b - 4 * a * c;
if (discriminant < 0) {
std::cout << "方程无实数解。" << std::endl;
} else {
double root1 = (-b + std::sqrt(discriminant)) / (2 * a);
double root2 = (-b - std::sqrt(discriminant)) / (2 * a);
std::cout << "方程有两个实数解: x1 = " << root1 << ", x2 = " << root2 << std::endl;
}
return 0;
}
```
阅读全文