题目描述
从键盘输入a、b、c求一元二次方程ax^2+bx+c=0的两个实数根x1,x2(不考虑无解的情况,
结果保留2位小数,较大的根先输出,假设a为正数)。方法如下图。
输入
a、b、c
输出
一元二次方程ax^2+bx+c=0的两个实数根
样例输入
1 -1 0
样例输出
1.00 0.00
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a;
double b,c,d,x1,x2;
cin>>a>>b>>c;
d=b*b-4*a*c;
if(d>0)
{
x1=(-b+sqrt(d))/(a*2);
x2=(-b-sqrt(d))/(a*2);
if(x1>x2)
{
cout<<fixed<<setprecision(2)<<x1<<endl;
cout<<fixed<<setprecision(2)<<x2<<endl;
}
else
{
cout<<fixed<<setprecision(2)<<x2<<endl;
cout<<fixed<<setprecision(2)<<x1<<endl;
}
}
if(d==0)
{
x1=x1=(-b)/(a*2);
cout<<fixed<<setprecision(2)<<x1<<endl;
}
return 0;
}