输入三个实数a、b、c,求出方程ax2+bx+c=0 的两个实根并显示在屏幕上c++
时间: 2024-12-04 22:24:11 浏览: 11
java代码-解决求方程aX^2+bX+c=0的实数解的问题java源代码
在C++中,可以使用`cmath`库来计算一元二次方程的根,同时要考虑到判别式的性质来确定根的类型(实数、重根或复数)。以下是简单的代码实现:
```cpp
#include <iostream>
#include <cmath>
void calculateRoots(double a, double b, double c) {
double discriminant = b * b - 4 * a * c;
// 实数根
if (discriminant >= 0) {
double root1 = (- std::sqrt(discriminant)) / (2 * a);
std::cout << "方程的两个实根分别为:" << root1 << " 和 " << root2 << std::endl;
}
// 重根
else if (discriminant == 0) {
double root = -b / (2 * a);
std::cout << "方程有一个重根:" << root << std::endl;
}
// 复数根
else {
double realPart = -b / (2 * a);
double imaginaryPart = std::sqrt(-discriminant) / (2 * a);
std::cout << "方程无实根,有两个共轭复数根:" << realPart << " ± " << imaginaryPart << "i" << std::endl;
}
}
int main() {
double a, b, c;
std::cout << "请输入方程的系数a, b, c:";
std::cin >> a >> b >> c;
calculateRoots(a, b, c);
return 0;
}
```
当你运行这个程序时,它会提示用户输入系数a、b和c,然后计算并显示对应的根。
阅读全文