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://blog.csdn.net/qq_45507678/article/details/124234158