C++第9周项目5参考——求一元二次方程的根

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565


【项目5:求一元二次方程的根】输入一元二次方程ax2+bx+c=0的各项系数,并根据各系数的值的情况,分别进行求解(如a=0时,实际上方程已经退化为一元一次方程)。



参考解答:

#include <iostream>
#include <cmath>   
using namespace std;
int main( )
{
	double  a,b,c,x1,x2;
	double delta;
	cout<<"输入方程的系数 a b c:";
	cin>>a>>b>>c;
	if(a==0)
	{
		if(b==0)   //不是方程
			cout<<"方程不存在!"<<endl;
		else       //实际为一元一次方程
			cout<<"一元一次方程的解是:x = "<<-c/b<<endl;
	}
	else  //够成一元二次方程
	{
		cout<<"一元二次方程";
		delta = b*b-4*a*c;  //好风格
		if (delta >=0)
		{
			if (delta >0)
			{
				x1=(-b+sqrt(delta))/(2*a);
				x2=(-b-sqrt(delta ))/(2*a);
				cout<<"有两个不相等的实根,分别是:";
				cout<<"x1="<<x1<<", ""x2="<<x2<<endl;
			}
			else
			{
				x1=-b/(2*a);
				cout<<"有两个相等的实根,x1=x2="<<x1<<endl;
			}	
		}
		else
			cout<<"无实根"<<endl;
	}
	
	return 0;
}


原文地址:https://www.cnblogs.com/hehe520/p/6142666.html