求方程ax2+bx+c=0的实数根。a, b, c由键盘输入, a!=0。若只有一个实数根(b2-4ac=0)则只输出x1,若无实数根(b2-4ac<0)则输出Error。
输入
2.5 7.5 1.0
输出
(注意等号前面后面都有一个空格)
x1 = -0.139853
x2 = -2.860147
本题为简单的数学题,注意细节就行!!!
代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if(b*b-4*a*c<0)
printf("Error\n");
else if(b*b-4*a*c == 0)
printf("x1 = %.6lf", -1 * b / (2*a));
else if(b*b-4*a*c > 0)
{
printf("x1 = %.6lf\n" ,((-1 * b) + sqrt(b*b-4*a*c)) / (2*a) );
printf("x2 = %.6lf \n" ,((-1 * b) - sqrt(b*b-4*a*c)) / (2*a) );
}
return 0;
}