求方程a(xx) +bx+c=0 的根,用三个函数分别求当大于Δ=bb −4ac大于0、等于0和小于0时方程的根,并输出结果。从主函数中输入a,b,c的值。
4条回答 默认 最新
阿里嘎多学长 2025-12-28 15:59关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
问题理解
您想要求出二次方程
a(x^2) + bx + c = 0根的不同情况下的结果,具体来说是当判别式Δ = b^2 - 4ac大于 0、等于 0 和小于 0 时的结果。解决方案
我们可以使用 C++ 语言来实现这个功能。以下是核心代码:
#include <iostream> #include <cmath> void solveQuadratic(double a, double b, double c) { double delta = b * b - 4 * a * c; if (delta > 0) { // 大于 0 时,根为实数 double root1 = (-b + sqrt(delta)) / (2 * a); double root2 = (-b - sqrt(delta)) / (2 * a); std::cout << "根为实数,根分别为:" << root1 << " 和 " << root2 << std::endl; } else if (delta == 0) { // 等于 0 时,根为重根 double root = -b / (2 * a); std::cout << "根为重根,根为:" << root << std::endl; } else { // 小于 0 时,根为虚数 double realPart = -b / (2 * a); double imaginaryPart = sqrt(-delta) / (2 * a); std::cout << "根为虚数,根分别为:" << realPart << " + " << imaginaryPart << "i 和 " << realPart << " - " << imaginaryPart << "i" << std::endl; } } int main() { double a, b, c; std::cout << "请输入 a、b、c 的值:"; std::cin >> a >> b >> c; solveQuadratic(a, b, c); return 0; }使用说明
- 编译并运行该程序。
- 在程序提示时输入
a、b和c的值。 - 根据判别式的值,程序会输出相应的根结果。
注意
- 该程序假设
a、b和c是双精度浮点数。 - 如果
a等于 0,则该程序会抛出异常,因为二次方程的判别式会导致除以零的错误。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报