📜  用C++程序查找二次方程式的所有根(1)

📅  最后修改于: 2023-12-03 14:56:17.934000             🧑  作者: Mango

用C++程序查找二次方程式的所有根

介绍

二次方程式是一种形如 $ax^2+bx+c=0$ 的方程式,其中 $a,b,c$ 是已知的实数系数,$x$ 是待求的未知数。解决二次方程式的问题是高中数学中的一个必修内容,查找二次方程式的所有根是其中一个重要的求解过程。

本文将介绍如何用 C++ 编写一个程序,帮助我们查找二次方程式的所有根。

思路
  • 读入二次方程式的系数 $a,b,c$
  • 判断方程式是否有实数根,如果没有则输出无解
  • 如果有实数根,则求出两个实数根 $x1$ 和 $x2$
  • 输出这两个根
代码
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    double a,b,c,d,x1,x2;

    cout << "输入二次方程式的系数a,b,c:" << endl;
    cin >> a >> b >> c;

    d = b * b - 4 * a * c;

    if(d < 0)
    {
        cout << "无实数根" << endl;
    }
    else if(d == 0)
    {
        x1 = x2 = - b / (2 * a);
        cout << "有一个实数根:x1=x2=" << x1 << endl;
    }
    else
    {
        x1 = (- b + sqrt(d)) / (2 * a);
        x2 = (- b - sqrt(d)) / (2 * a);
        cout << "有两个实数根:x1=" << x1 << ", x2=" << x2 << endl;
    }

    return 0;
}
解析

该程序采用了基本的 C++ 语法实现。首先通过 cin 语句读入二次方程式的系数 $a,b,c$。然后通过 $b^2-4ac$ 计算方程式的判别式 d

接着,通过判断判别式的大小关系,求出方程式的实数根,将其存储在 x1x2 两个变量中。

最后,通过 cout 语句输出根的数量和值。

Conclusion

通过这个简单的例子,我们学习了如何用 C++ 编写一个查找二次方程式实数根的程序。代码基本上是按照思路实现的,因此问题不算复杂。在完整理解代码的基础上,程序员们可以尝试着添加一些新的功能,比如解决负数开方问题等等,使程序更加完善。