只含有一個未知數(一元,並且未知數項的最高次數是2(二次)的整式方程叫做一元二次方程。一元二次方程經過整理都可化成一般形式ax²+bx+c=0(a≠0。其中ax²叫作二次項,a是二次項係數;bx叫作一次項,b是一次項係數;c叫作常數項。
利用一元二次方程根的判別式可以判斷方程的根的情況 。
delta=b^2-4ac;
一元二次方程的根與根的判別式有如下關係:
①當delta>0時,方程有兩個不相等的實數根;
②當delta=0時,方程有兩個相等的實數根;
③當delta<0時,方程無實數根,但有2個共軛復根。
上述結論反過來也成立。
若delta>=0,可用求根公式(-b±delta^½/(2*a))計算出方程的兩個解。(delta=0,兩解相同)
直接上代碼
#include <stdio.h>
#include <math.h>
int main(void){
double a,b,c;
double delta;
double x1,x2;
printf("請輸入 ax^2+bx+c中的 a,b,c的值:\n");
scanf("%lf %lf %lf",&a,&b,&c);
delta=b*b-4*a*c;
if (delta>0) {
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("x1=%lf x2=%lf\n",x1,x2);
} else if(delta==0){
x1=x2=-b/(2*a);
printf("x1=x2=%lf\n",x1);
}else{
printf("無實數解!\n");
}
return (0);
}