Description
从键盘读入三个数a, b, c,输出方程ax^2+bx+c=0的两个实根。
Input
三个数a,b,c, 保证方程为一元二次方程,且一定有两个实根。
Output
方程ax^2+bx+c=0的两个实根,小根在前,大根在后, 结果保留到小数点后三位。
Sample Input
1 -4 3
Sample Input
1.000 3.000
Submission
answer.cpp
#include<iostream>
#include<iomanip>
#include<math.h>
using namespace std;
int main(){
double a,b,c;
cin>>a>>b>>c;
cout<<setprecision(3)<<fixed<<(-b-sqrt(b*b-4*a*c))/2/a<<" "<<(-b+sqrt(b*b-4*a*c))/2/a<<endl;
return 0;
}
Standard Answer
answer.cpp
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
double a, b, c;
cin >> a >> b >> c;
double delta = b * b - 4 * a * c;
double r1 = (-b - sqrt(delta)) / (2 * a);
double r2 = (-b + sqrt(delta)) / (2 * a);
cout << fixed << setprecision(3) << r1 << ' ' << r2 << endl;
return 0;
}