C语⾔下⼀元⼆次⽅程的求根公式求ax2+bx+c=0⽅程的根,a,b,c由键盘输⼊,设b2-4ac>0。
求根公式为:
则x1=p+q
15gan
x2=p-q
源程序如下:
#include<math.h>
main()
{
float a,b,c,disc,x1,x2,p,q;
scanf(“a=%f,b=%f,c=%f”,&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(“\nx1=% 5.2f\nx2=%5.2f\n”,x1,x2);
配⽅法:
x^2+(b/a)x+c/a=0
2两边同时加上⼀次项系数⼀半的平⽅;
x^2+(b/a)x+(b/2a)^2=(b/2a)^2-c/a
3⽤直接开平⽅法求解.
{x+(b/2a)}^2=(b^2-4ac)/4a^2
当
b^2-4ac>=0 (a>0)时
x+b/2a=+ -根号下{(b^2-4ac)/4a^2}
x=-b/2a+ -根号下{(b^2-4ac)/4a^2}=-b+ -根号下b^2-4ac /2a
uwb人员定位
所以、ax2+bx+c=0(a≠0)中.
若b=0,⽅程有两个互为相反数实根.
若c=0,⽅程有⼀根为零.