oj求一元二次方程的解
时间: 2024-06-13 21:04:17 浏览: 16
oj可以通过以下代码求解一元二次方程的解:
```
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a, b, c;
cin >> a >> b >> 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);
if (x1 >= x2) {
printf("%.2f %.2f", x1, x2);
} else {
printf("%.2f %.2f", x2, x1);
}
} else {
double m = -b / (2 * a);
double n = sqrt(-delta) / (2 * a);
printf("%.2f+%.2fi %.2f-%.2fi", m, n, m, n);
}
return 0;
}
```
其中,a、b、c分别为一元二次方程的系数,delta为判别式,如果delta大于等于0,则方程有实根,否则方程有共轭复根。如果方程有实根,则按照题目要求输出即可;如果方程有共轭复根,则按照题目要求输出实部和虚部即可。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)