C语言实验——一元二次方程Ⅰ
Time Limit: 1000MS
Memory Limit: 65536KB
Problem Description
解一元二次方程ax
2+bx+c=0的解。保证有解
Input
a,b,c的值。
Output
两个根X
1和X
2,其中X
1>=X
2。 结果保留两位小数。
Example Input
1 5 -2
Example Output
0.37 -5.37
#include <stdio.h>
#include <math.h>
void f(double a, double b, double c)
{
double x1, x2, t;
if(b*b - 4*a*c >= 0)
{
x1 = (-b + sqrt(b*b - 4*a*c))/(2*a);
x2 = (-b - sqrt(b*b - 4*a*c))/(2*a);
}
if(x1<x2)
{
t = x1;
x1 = x2;
x2 = t;
}
printf("%.2lf %.2lf\n", x1, x2);
return;
}
int main()
{
double a, b, c;
scanf("%lf %lf %lf", &a, &b, &c);
f(a, b, c);
return 0;
}