用c++函数实现求一元二次方程ax+bx+c=0的根

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	double a,b,c,x;
	void fun(double a1,double b1,double c1);  //函数初始化
	cout<<"请输入两个整数ax^2+bx+c=0中a、b、c的值:"<<endl;
	cin>>a>>b>>c;
	x=b*b-4*a*c;
	if(x<0)
		cout<<"该二次方程没有实数根"<<endl;
	else
		fun(a,b,c);
	return 0;	
}
void fun(double a1,double b1,double c1)
{
	double x1,x2;
	x1=(-b1+sqrt(b1*b1-4*a1*c1))/2*a1;
	x2=(-b1-sqrt(b1*b1-4*a1*c1))/2*a1;
	if(x1==x2)
		cout<<"该二次方程的根是:"<<x1<<endl;
	else
		cout<<"该二次方程的根分别是:x1="<<x1<<"  "<<"x2="<<x2<<endl;
}
  • 5
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 C++ 中,可以使用 STL 中的 <cmath> 库中的 sqrt() 函数来计算一元二次方程 ax^2 + bx + c = 0 的根。 示例代码如下: ```c++ #include <iostream> #include <cmath> using namespace std; int main() { double a, b, c; cin >> a >> b >> c; double discriminant = b * b - 4 * a * c; if (discriminant < 0) { cout << "无实根" << endl; } else if (discriminant == 0) { double root = -b / (2 * a); cout << "唯一实根: " << root << endl; } else { double root1 = (-b + sqrt(discriminant)) / (2 * a); double root2 = (-b - sqrt(discriminant)) / (2 * a); cout << "实根1: " << root1 << endl; cout << "实根2: " << root2 << endl; } return 0; } ``` 在这个例子中,我们计算判别式 discriminant = b^2 - 4ac ,来确定方程的解的类型。如果判别式为正,则方程有两个实根;如果判别式为 0 ,则方程有一个实根;否则,方程无实根。 ### 回答2: 对于二次方程 $ax^2+bx+c=0$ 的根 $x$,我们可以采用根公式: $$x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}$$ 其中,$a \neq 0$。 根据根公式,我们可以将根 $x$ 表示为 $\frac{-b\pm\sqrt{b^2-4ac}}{2a}$ 的形式,因此我们需要先出方程中的系数 $a$、$b$、$c$。如果给出了系数 $a$、$b$、$c$,那么我们可以直接代入根公式中计算出根。 如果没有给出系数 $a$、$b$、$c$,那么我们需要通过其他信息来进行解。例如,如果已知方程的一个根为 $x_1$,那么我们可以利用因式分解的方法将方程化为: $$a(x-x_1)(x-x_2)=0$$ 其中,$x_2$ 表示另一个根。则方程中的系数 $a$、$b$、$c$ 可以表示为: $$a = a$$ $$b = -a(x_1+x_2)$$ $$c = ax_1x_2$$ 通过上述方法得系数 $a$、$b$、$c$ 后,我们可以代入根公式中直接计算出根。需要注意的是,如果判别式 $b^2-4ac<0$,则方程无实数根。 ### 回答3: 首先,我们可以使用根公式来解一个二次方程的根。对于二次方程 ax2 + bx + c = 0,其中 a、b、c 是实数且 a ≠ 0,这个根公式可以表示为: x1,2 = (-b ± √(b2 - 4ac)) / 2a 其中,x1 和 x2 是方程的两个根。需要注意的是,这个公式只适用于 b2 - 4ac ≥ 0 的情况,因为在 b2 - 4ac < 0 时,根是虚数,不能用实数表示。 根据题目所给的二次方程 ax2 + bx + c = 0,我们可以解它的根 c。因此,我们需要将这个方程变形,使得它的右边为0,也就是: ax2 + bx + c - c = 0 - c 这样我们就得到了一个新的方程 ax2 + bx = -c。 接下来,我们可以使用根公式来计算出这个方程的两个根。根据公式,我们可以得到方程的两个根: x1,2 = (-b ± √(b2 - 4ac)) / 2a 将变形后的方程代入上面的公式中,我们可以得到: x1,2 = (-b ± √(b2 - 4a(-c))) / 2a 注意到我们通过变形将 c 转移到了方程的左边,所以这里的 c 是负数。因为我们只需要解根 c,因此我们只需要将上式中的根 x1 和 x2 相加,即可得到: c = -(x1 + x2) / 2 这样,我们就得到了二次方程 ax2 + bx + c = 0 的根 c 的公式。将方程的系数 a、b、c 代入这个公式中,即可得该方程的根 c。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值