课程首页地址: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;
}