求方程ax2+bx+c=0的实数根。a, b, c由键盘输入, a!=0。若只有一个实数根(b2-4ac=0)则只输出x1,若无实数根(b2-4ac<0)则输出Error。
输入
2.5 7.5 1.0
输出
(注意等号前面后面都有一个空格)
x1 = -0.139853
x2 = -2.860147
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
int main()
{
double a,b,c;
cin >> a >> b >> c;
if(b*b-4*a*c<0)
cout << "Error";
else if(b*b-4*a*c == 0)
cout << fixed << setprecision(6) << "x1 = " << -1 * b / (2*a);
else if(b*b-4*a*c > 0)
{
cout << fixed << setprecision(6) << "x1 = " << ((-1 * b) + sqrt(b*b-4*a*c)) / (2*a) << endl;
cout << fixed << setprecision(6) << "x2 = " << ((-1 * b) - sqrt(b*b-4*a*c)) / (2*a) << endl;
}
return 0;
}