21xrx.com
2024-12-22 17:55:17 Sunday
登录
文章检索 我的文章 写文章
求解一元二次方程ax2+bx+c=0的根 – 使用c++语言
2023-07-14 08:48:23 深夜i     --     --
一元二次方程 C++语言

在高中数学中,我们学习了一元二次方程,形式为ax²+bx+c=0,其中a, b, c为实数,a不为0。解一元二次方程是数学中的基础知识之一。现在,我们将介绍使用c++语言来解决一元二次方程。

首先,我们需要明确一元二次方程的根的求解公式。我们可以使用公式:

x = (-b ± √(b² - 4ac))/2a

其中,±表示正负两个根,√表示平方根。

接下来,我们将使用c++程序来实现这个公式,并求解方程的根。这里我们使用标准库math.h中的sqrt函数来计算平方根。


#include <iostream>

#include <math.h>

using namespace std;

int main() {

  float a, b, c, x1, x2, discriminant, realPart, imaginaryPart;

  cout << "Enter coefficients a, b and c: ";

  cin >> a >> b >> c;

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

  // real and different roots

  if (discriminant > 0) {

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

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

    cout << "Roots are real and different." << endl;

    cout << "x1 = " << x1 << endl;

    cout << "x2 = " << x2 << endl;

  }

  // real and same roots

  else if (discriminant == 0) {

    x1 = -b / (2 * a);

    cout << "Roots are real and same." << endl;

    cout << "x1 = x2 =" << x1 << endl;

  }

  // complex roots

  else {

    realPart = -b / (2 * a);

    imaginaryPart = sqrt(-discriminant) / (2 * a);

    cout << "Roots are complex and different." << endl;

    cout << "x1 = " << realPart << "+" << imaginaryPart << "i" << endl;

    cout << "x2 = " << realPart << "-" << imaginaryPart << "i" << endl;

  }

  return 0;

}

在程序中,我们首先定义了五个变量。a, b, c为方程的系数,x1, x2为方程的两个根,discriminant为判别式。接下来,使用cin语句从用户处获取a, b, c的值。

接着,我们计算判别式。如果判别式大于0,则有两个不同的实根,计算两个根的值,并输出结果。如果判别式等于0,则有一个实根,并输出结果。如果判别式小于0,则有两个复数根,计算实部和虚部,并输出结果。程序运行结束后,我们得到了方程的两个根。

总之,在c++中解决一元二次方程是非常简单的。我们只需要使用上述代码,输入方程的系数,便可以获得方程的根。

  
  

评论区

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