21xrx.com
2024-09-20 08:07:03 Friday
登录
文章检索 我的文章 写文章
C++实现一元二次方程求根
2023-07-10 07:06:32 深夜i     --     --
C++ 一元二次方程 求根

一元二次方程 ax^2 + bx + c = 0 是一个常见数学问题,在计算机科学中,我们可以利用C++语言来帮助我们求解该方程的根。

首先,我们需要输入方程的系数 a、b、c,可以使用cin语句将这些值存储在变量中。然后,我们可以根据一元二次方程的求根公式来计算根的值。

先计算 Δ = b^2 - 4ac,如果 Δ < 0,则无实数解,程序应输出“无实数解”;如果 Δ = 0,则方程有一个实数解,计算公式为 x = -b/2a;如果 Δ > 0,则方程有两个实数解,计算公式为 x1 = (-b + sqrt(Δ)) / (2a),x2 = (-b - sqrt(Δ)) / (2a)。可以使用sqrt函数来计算平方根。

最后,我们可以使用cout语句输出方程的根,如果方程无实数解则输出“无实数解”。

下面是一个C++实现一元二次方程求根的示例程序:


#include <iostream>

#include <cmath>

using namespace std;

int main() {

  double a, b, c, delta, x1, x2;

  // 输入方程系数

  cout << "请输入一元二次方程的系数:\n";

  cin >> a >> b >> c;

  // 计算 delta

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

  // 判断有无解并计算根

  if (delta < 0) {

    cout << "无实数解\n";

  } else if (delta == 0) {

    x1 = -b / (2 * a);

    cout << "方程有一个实数解:" << x1 << "\n";

  } else {

    x1 = (-b + sqrt(delta)) / (2 * a);

    x2 = (-b - sqrt(delta)) / (2 * a);

    cout << "方程有两个实数解:" << x1 << " 和 " << x2 << "\n";

  }

  return 0;

}

通过以上的程序,我们就可以很方便地求解一元二次方程的根了。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复