一个100行的代码调试都可能会让程序员遇到很多挫折,所以,面对挫折,我们永远不能低头。
Description
解一元二次方程ax2+bx+c=0的解。
Input
a,b,c的值。
Output
两个根X1和X2,其中X1>=X2。 结果保留两位小数。
Sample Input
1 5 -2
Sample Output
0.37 -5.37
源代码:
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,d,e,f,t,x1,x2;
scanf("%lf %lf %lf",&a,&b,&c); //读取输入的abc
d=b*b-4*a*c; //计算b方-4ac
e=-b/(2*a); //(求根公式)除去b方-4ac
f=sqrt(fabs(d))/(2*a);
x1=e+f;
x2=e-f; //求根
if (x1>=x2) //将小的数放到前面输出
printf("%.2f %.2f\n",x1,x2);
else
{
t=x1;
x1=x2;
x2=t;
printf("%.2f %.2f\n",x1,x2);
}
return 0;
}