c++求一元二次方程式ax∧2+bx+c=0的实根,如果方程没有实根,则输出有关警告 信息
时间: 2024-03-17 21:46:39 浏览: 142
好的,根据您的要求,我可以给出以下的求解方法:
```c++
#include <iostream>
#include <cmath>
using namespace std;
void solve_quadratic_equation(double a, double b, double c)
{
double delta = b * b - 4 * a * c;
if (delta > 0)
{
double x1 = (-b + sqrt(delta)) / (2 * a);
double x2 = (-b - sqrt(delta)) / (2 * a);
cout << "方程的实根为:x1 = " << x1 << ", x2 = " << x2 << endl;
}
else if (delta == 0)
{
double x = -b / (2 * a);
cout << "方程的实根为:x1 = x2 = " << x << endl;
}
else
{
cout << "警告:方程无实根!" << endl;
}
}
int main()
{
double a, b, c;
cout << "请输入一元二次方程的三个系数:a, b, c:" << endl;
cin >> a >> b >> c;
solve_quadratic_equation(a, b, c);
return 0;
}
```
在这个程序中,我们定义了一个 `solve_quadratic_equation` 函数来求解一元二次方程,该函数的输入为三个系数 `a, b, c`,输出为方程的实根或警告信息。我们在函数中先计算出判别式 $b^2-4ac$ 的值,然后根据其正负性返回不同的结果,如果判别式小于零,则输出警告信息。在主函数中,我们从标准输入中读入三个系数,然后调用 `solve_quadratic_equation` 函数来求解方程,并输出结果。
希望这个回答能够帮助到您!
阅读全文