题目描述
求解方程ax2+bx+c=0的根。要求a, b, c由用户输入,并且可以为任意实数。
输入
输入只有一行,包括三个系数,之间用空格格开。
输出
输出只有一行,包括两个根,大根在前,小根在后,无需考虑特殊情况,保留小数点后两位。
样例输入
2.5 7.5 1.0
样例输出
-0.14 -2.86
#include<bits/stdc++.h>
#include<cmath>
using namespace std;
int main()
{
double a,b,c,x1,x2;
cin>>a>>b>>c;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
cout<<setiosflags(ios::fixed)<<setprecision(2);
if(b*b-4*a*c!=0)
{
if(x1>x2)
cout<<x1<<" "<<x2<<endl;
else
cout<<x2<<" "<<x1<<endl;
}
if(b*b-4*a*c==0)
cout<<x1<<endl;
return 0;
}
注意:保留2位小数
cout<<setiosflags(ios::fixed)<<setprecision(2);