求ax²+bx+c=0方程的实根。其中a、b、c由键盘输入。
首先要知道求方程式的根的方法。
首先当a不等于0时方程:ax^2+bx+c=0才是一元二次方程。
1、公式法:Δ=b²-4ac,Δ<0时方程无解,Δ≥0时。
x=【-b±根号下(b²-4ac)】÷2a(Δ=0时x只有一个)
2、配方法:可将方程化为[x-(-b/2a)]²=(b²-4ac)/4a²
可解出:x=【-b±根号下(b²-4ac)】÷2a
代码如下:
#include <stdio.h>
#include <math.h>
int main ( )
{
double a,b,c,disc,x1,x2,p,q;
scanf("%lf%lf%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
return 0;
}