C++一元二次方程代码

输入的三个整数a,b,c。必须将此方程式的根数输出,此后,该方程式的所有根均以非降序排列,如果无法做到,则输出-1。
例如:
输入:1 -2 1 输出:1 1(1个根 根为1)
输入:1 -8 15 输出:2 3 5(2个根 根为3和5)

#include<iostream>
#include<cmath>
using namespace std;
//a*x^2+b*x+c=0
void main(){
double a,b,c,drta,x1,x2;
cout<<"请分别输入a,b,c的值"<<endl;
cin>>a;
cin>>b;
cin>>c;
drta=b*b-4*a*c;
//cout<<drta;
if(drta>0){
cout<<"方程有两个不相等的根,分别是:"<<endl;
x1=(-b+sqrt(drta))/(2*a);
x2=(-b-sqrt(drta))/(2*a);
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
}
else if(drta==0){
cout<<"方程有两个相等的根"<<endl;
x1=(-b)/(2*a);
cout<<"x1=x2="<<x1<<endl;
}
else
cout<<"方程没有实根"<<endl;
}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答