21xrx.com
2024-12-22 21:37:01 Sunday
登录
文章检索 我的文章 写文章
C++实现一元二次方程求解
2023-07-14 01:52:13 深夜i     --     --
C++ 一元二次方程 求解

一元二次方程是高中数学中比较基础的内容,但是在计算机编程中,如何使用C++来实现一元二次方程的求解呢?下面我们就来介绍一下。

一元二次方程的一般形式为:ax²+bx+c=0,其中a、b、c都是已知的系数,我们需要求解x的值。

在C++中,我们可以使用公式法或者求根公式法来实现一元二次方程的求解。

公式法的实现步骤如下:

1.定义a、b、c、x1、x2、delta等变量;

2.读入a、b、c的值;

3.计算delta的值:delta = b * b - 4 * a * c;

4.当delta>0时,使用公式求解x1、x2的值,并输出结果;

5.当delta=0时,使用公式求解x1的值,并输出结果;

6.当delta<0时,输出“无实数解”。

求根公式法的实现步骤如下:

1.定义a、b、c、x1、x2等变量;

2.读入a、b、c的值;

3.判断a是否等于0,如果是,则输出“不是一元二次方程”;

4.当a不等于0时,使用求根公式计算x1、x2的值,并输出结果;

5.当判别式小于0时,输出“无实数解”;

6.当判别式等于0时,使用公式求解x1的值,并输出结果。

下面是代码示例:

公式法:


#include<iostream>

#include<cmath>

using namespace std;

int main()

{

  double a,b,c;

  double delta,x1,x2;

  cout<<"请输入a,b,c的值:"<<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<<endl;

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

  }

  else if(delta==0)

  {

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

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

  }

  else

  

    cout<<"无实数解"<<endl;

  

  return 0;

}

求根公式法:


#include<iostream>

#include<cmath>

using namespace std;

int main()

{

  double a,b,c;

  double x1,x2;

  double delta;

  cout<<"请输入a,b,c的值:"<<endl;

  cin>>a>>b>>c;

  if(a==0)

  

    cout<<"不是一元二次方程"<<endl;

  

  else

  {

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

    if(delta>=0)

    {

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

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

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

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

    }

    else

    

      cout<<"无实数解"<<endl;

    

  }

  return 0;

}

以上是C++实现一元二次方程的求解的两种方法,读者可以根据自己的喜好和需要选择合适的方法来实现。在实际应用中,这些方法还可以进一步优化,提高算法的效率和精度。

  
  

评论区

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