2.求方程ax 2 +bx+c=O的根,用3个函数分别求当:b 2 -4ac大于0、等于0和小于0时的根并 输出结果。从主函数输入a、b、c 的值。
时间: 2023-11-29 19:55:54 浏览: 36
好的,我明白了您的问题。对于方程ax²+bx+c=0,我们可以使用三个函数求根,具体如下:
1. 当b²-4ac大于0时,方程有两个不相等的实数根。我们可以使用下面这个函数:
```c++
void root_positive(double a, double b, double c){
double delta = b*b - 4*a*c;
double x1 = (-b + sqrt(delta)) / (2*a);
double x2 = (-b - sqrt(delta)) / (2*a);
cout << "方程的两个实数根分别为:" << x1 << " 和 " << x2 << endl;
}
```
2. 当b²-4ac等于0时,方程有两个相等的实数根。我们可以使用下面这个函数:
```c++
void root_zero(double a, double b, double c){
double delta = b*b - 4*a*c;
double x = -b / (2*a);
cout << "方程的唯一实数根为:" << x << endl;
}
```
3. 当b²-4ac小于0时,方程没有实数根,但有两个共轭复数根。我们可以使用下面这个函数:
```c++
void root_complex(double a, double b, double c){
double delta = b*b - 4*a*c;
double real = -b / (2*a);
double imag = sqrt(-delta) / (2*a);
cout << "方程的两个共轭复数根分别为:" << real << "+" << imag << "i 和 " << real << "-" << imag << "i" << endl;
}
```
根据您输入的a、b、c的值,调用相应的函数即可输出结果。注意,由于这里涉及到开根号和除法运算,需要确保输入的a不为0、b²-4ac不为负数。