21xrx.com
2024-09-20 01:06:42 Friday
登录
文章检索 我的文章 写文章
用C++编写一元二次方程求解程序
2023-07-02 20:56:04 深夜i     --     --
C++ 一元二次方程 求解程序

C++是一款非常强大的编程语言,在数学方面也有广泛的应用。其中,一元二次方程求解程序是较为基础但也非常重要的一个应用。本文将介绍使用C++编写一元二次方程求解程序的方法。

一元二次方程可以表示为ax²+bx+c=0的形式。其中,a、b、c为方程系数,x为未知数。求解一元二次方程需要用到求根公式,即:x=(-b±√(b²-4ac))/(2a)。

使用C++编写一元二次方程求解程序,首先需要定义变量a、b、c和x。可以通过使用double或float类型来定义,以保证精度。代码示例如下:


double a, b, c, x;

接下来,需要读入方程系数a、b、c的值。可以使用C++中的cin进行输入操作。代码示例如下:


cout<< "请输入ax²、bx、c的值:" << endl;

cin >> a >> b >> c;

然后,需要判断方程是否有解。即需要判断方程的判别式 b²-4ac 是否小于0。如果小于0,则方程无实数解;如果等于0,则方程有一个实数解;如果大于0,则方程有两个实数解。代码示例如下:


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

if (delta<0)

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

else if (delta==0){

  x = -b/(2*a);

  cout<<"方程有一个实数解,x="<<x<<endl;

}

else{

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

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

  cout<<"方程有两个实数解,分别为x1="<<x1<<",x2="<<x2<<endl;

}

最后,需要输出方程的解。如果方程无实数解,则输出“方程无实数解”;如果方程有一个实数解,则输出“方程有一个实数解,x=”并将解输出;如果方程有两个实数解,则输出“方程有两个实数解,分别为x1=”和“,x2=”并将解输出。

完整代码如下:


#include<iostream>

#include<cmath>

using namespace std;

int main(){

  double a, b, c, x;

  cout<<"请输入ax²、bx、c的值:"<<endl;

  cin>>a>>b>>c;

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

  

  if(delta < 0)

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

  

  else if(delta == 0){

    x = -b / (2 * a);

    cout<<"方程有一个实数解,x="<<x<<endl;

  }

  else{

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

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

    cout<<"方程有两个实数解,分别为x1="<<x1<<",x2="<<x2<<endl;

  }

  return 0;

}

通过以上代码可以实现一元二次方程求解程序。需要注意的是:在输入方程系数时,要输入ax²、bx、c的值,不能将其拆分成a、x²、b、x、c的值输入。此外,方程系数不能为0。如果系数为0,则需要进行特殊处理。

  
  

评论区

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