编程计算并输出一元二次方程的两个实根保证方程有两个不想等的实根C++
时间: 2024-10-17 14:04:58 浏览: 24
在C++中,计算一元二次方程ax^2 + bx + c = 0的两个实数根,需要首先检查判别式(b^2 - 4ac)是否大于0,因为只有当判别式大于0时,方程才有两个不相等的实根。以下是一个简单的函数示例:
```cpp
#include <iostream>
#include <cmath>
// 函数声明
double quadraticRoots(double a, double b, double c);
int main() {
double a, b, c;
std::cout << "请输入一元二次方程的系数a, b, c:" << std::endl;
std::cin >> a >> b >> c;
if (判别式(b * b - 4 * a * c) > 0) { // 判别式大于0的条件
double root1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
double root2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);
std::cout << "方程的两个实根分别是:" << std::endl;
std::cout << "根1: " << root1 << "\n";
std::cout << "根2: " << root2 << "\n";
} else {
std::cout << "方程没有两个不相等的实根。\n";
}
return 0;
}
double 判别式(double discriminant) {
return discriminant; // 这里只是一个占位符,实际应用中应该处理判别式的值
}
```
在这个程序中,`quadraticRoots`函数用于计算根,并在`main`函数中获取用户输入的系数并进行判断。如果判别式大于0,则计算并打印两个实根;否则提示方程无两个不相等的实根。
阅读全文