C++【求一元二次方程的根】从键盘输入一元二次方程的系数a,b,c,求此一元二次方程ax2+bx+c=0的解。

1.设计思路:

由一元二次方程求根方法可知:

在这里插入图片描述

2.代码实现:

//从键盘输入一元二次方程的系数a,b,c,求此一元二次方程ax2+bx+c=0的解。
#include <iostream>
#include <cmath>
using namespace std;

int main()
{
	double a,b,c,x1,x2,d;
	cout<<"输入方程的3个系数a,b,c\n";
	cin>>a>>b>>c;
	d=b*b-4*a*c;
	if(a==0)
	{
		x1=-c/b;
		cout<<"该方程不是二次方程 x="<<x1<<endl;
	}
	else if (d==0)
	{
		x1=x2=-b/(2*a);
		cout<<"方程有两个相等的实根\nx1=x2="<<x1<<endl;//(2 8 8)(TestInput)
	}
	else if(d>0)
	{
		x1=(-b+sqrt(d))/(2*a);
		x2=(-b-sqrt(d))/(2*a);
		cout<<"方程有两个不等的实根\nx1="<<x1<<",x2="<<x2<<endl;//(1 1 -6)(TestInput)
	}
	else
	{
		double r=-b/(2*a);
		double q=sqrt(-d)/(2*a);
		cout<<"方程有两个共轭的复数根\n";//(1 2 3)(TestInput)
		cout<<"x1="<<r<<"+"<<q<<"i\n";
		cout<<"x2="<<r<<"-"<<q<<"i\n";
	}
	system("pause");
	return 0;
}

在这里插入图片描述

3.运行结果:

(1).当Delta=0,方程有2个相等的实根

在这里插入图片描述

(2).当Delta>0时,方程有2个不相等的实根:

在这里插入图片描述

(3).当Delta<0时,方程有2个虚根:

在这里插入图片描述

(4).当输入的系数a为0,输出此方程不是一元二次方程

在这里插入图片描述

若要实现同样效果请看前文: C++程序设计基础之基于Dev-Cpp的环境搭建


版权声明:本文为CSDN博主「 Apollo-007」的原创文章,

遵循CC BY-NC-SA 4.0版权协议,转载请附上原文出处链接及本声明。

原文链接: https://apollo.blog.csdn.net/article/details/124234158

  • 5
    点赞
  • 17
    收藏
  • 打赏
    打赏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论

打赏作者

Apollo-007

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值