zhrok's blog
给定一元二次方程 \( ax^2 + bx + c = 0 \),求解它的两个实根。
根据求根公式:
\[
x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}
\]
当判别式 \( \Delta = b^2 - 4ac > 0 \) 时,有两个不相等的实根;
当 \( \Delta = 0 \) 时,有两个相等的实根;
当 \( \Delta < 0 \) 时,无实数解。
#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);
cout << "x1 = " << x1 << ", x2 = " << x2 << endl;
} else if (delta == 0) {
cout << "x = " << -b / (2 * a) << endl;
} else {
cout << "无实根" << endl;
}
return 0;
}
很好