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