用函数的思维解决一元二次方程Ⅰ
Time Limit : 1.000 sec Memory Limit : 128 MB
Problem Description
解一元二次方程ax2+bx+c=0的解。保证有解
Input
a,b,c的值。
Output
两个根X1和X2,其中X1>=X2。 结果保留两位小数。
Sample Input
1 5 -2
Out Input
0.37 -5.37
#include<stdio.h>
#include <math.h>
void fun(double a,double b,double c)
{
double t;
double h,x1,x2;
h=sqrt(b*b-4*a*c);
x1=(-b-h)/(2*a);
x2=(-b+h)/(2*a);
if(h>=0)
{
if(x1<x2)
{
t=x1;
x1=x2;
x2=t;
}
printf("%.2lf %.2lf",x1,x2);
if(h<0)
printf("error\n");
}
}
int main()
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
fun(a,b,c);
return 0;
}