c++语言一元二次方程求解,使用printf输出并保留两位小数
时间: 2024-10-13 22:16:23 浏览: 32
在 C++ 中,我们可以使用标准库函数 `std::cout` 和格式化字符串来解决一元二次方程,并将结果保留两位小数。首先,我们需要获取用户输入的一元二次方程系数 a、b 和 c,然后计算判别式(b² - 4ac),接着判断方程是否有实根并根据情况分别计算和输出。这里是一个简单的示例:
```cpp
#include <iostream>
#include <cmath>
// 函数用于计算一元二次方程的解
void solveQuadraticEquation(double a, double b, double c) {
double discriminant = b * b - 4 * a * c;
// 检查判别式,确定根的情况
if (discriminant > 0) {
// 两个实根
double root1 = (-b + std::sqrt(discriminant)) / (2 * a);
double root2 = (-b - std::sqrt(discriminant)) / (2 * a);
printf("The two roots are: %.2lf and %.2lf\n", root1, root2);
} else if (discriminant == 0) {
// 只有一个实根
double root = -b / (2 * a);
printf("There is one real root: %.2lf\n", root);
} else {
// 两个复根
double realPart = -b / (2 * a);
double imaginaryPart = std::sqrt(-discriminant) / (2 * a);
printf("There are no real roots, but complex conjugate roots: %.2lf + %.2lfi and %.2lf - %.2lfi\n",
realPart, imaginaryPart, realPart, imaginaryPart);
}
}
int main() {
double a, b, c;
std::cout << "Enter the coefficients for ax^2 + bx + c (a ≠ 0): ";
std::cin >> a >> b >> c;
solveQuadraticEquation(a, b, c);
return 0;
}
```
当你运行这个程序,它会提示用户输入三个系数,然后按照指定格式输出方程的解。
阅读全文