21xrx.com
2024-12-22 22:25:59 Sunday
登录
文章检索 我的文章 写文章
C++语言实现一元二次方程求根
2023-07-05 13:51:24 深夜i     --     --
C++ 一元二次方程 求根

一元二次方程是数学中一种基础的方程形式,该方程一般形式为ax^2 + bx + c = 0,其中a、b、c为常数,x为未知数。在实际问题中,我们需要根据一元二次方程求出其根,这个问题可以使用编程语言C++来解决。

在C++中,我们可以使用公式:x = (-b ± sqrt(b^2 - 4ac)) / 2a来求解一元二次方程的根。其中sqrt()是求平方根的函数,需要包含 头文件。

我们可以定义三个变量a、b、c来输入方程的系数,并定义一个变量delta来保存方程的判别式(delta = b^2 - 4ac),然后进行判别:

1. 当delta > 0时,方程有两个不同的实根,可以使用上述公式求解并输出。

2. 当delta = 0时,方程有两个相等的实根,此时x1 = x2 = -b / 2a。

3. 当delta < 0时,方程没有实数解,即方程只有复数解,需要使用复数库进行计算,此处不再赘述。

下面给出C++代码实现:


#include <iostream>

#include <cmath>

using namespace std;

int main()

{

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

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

  cin >> a >> b >> c;

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

  if(delta > 0)

  {

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

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

    cout << "该方程有两个实根:x1 = " << x1 << ",x2 = " << x2 << endl;

  }

  else if(delta == 0)

  {

    x1 = x2 = -b / (2 * a);

    cout << "该方程有两个相等实根:x1 = x2 = " << x1 << endl;

  }

  else

  

    cout << "该方程无实数解!" << endl;

  

  return 0;

}

通过以上代码实现,我们可以方便地输入一元二次方程的系数,快速求解并输出其根。虽然现今计算器、手机等设备常见并实用,但是编程计算的意义依旧不亚于硬件计算功能,明显优于人手计算更快、更准、更方便,因此有编程需求来运算处理是很不错的选择。

  
  

评论区

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