分析
一元二次方程ax2+bx+c=0的根分为三种情况。方程的根与判别式有如下关系,Δ = b2-4ac
(1)当Δ > 0时,方程有两个不相等的实数根
(2)当Δ = 0时,方程有两个相等的实数根
(3)当Δ < 0时,方程无实数根
可采用求根公式进行求解。
伪代码
根据一元二次方程求解的三种情况,可以采用if语句进行编写。
if Δ > 0
求出两个实数根
else if Δ = 0
求出一个实数根
else
没有实数根
代码示例
#include<;
#include<ma;
int main(void){
double a = 1;
double b = 2;
double c = -3;
double x1,x2,delta;
delta = b*b - 4*a*c;
if (delta > 0){
x1 = (-b + sqrt(delta)) /2;
x2 = (-b - sqrt(delta)) /2;
printf("方程有两个实数根,x1 = %lf x2 = %lf",x1,x2);
}
else if (delta == 0){
x1 = (-b + sqrt(delta)) /2;
printf("方程有一个实数根,x1=x2=%lf",x1);
}
else
printf("方程无实数根");
return 0;
}
运行结果
总结
本例中采用if结构判断不同的根,但在输入的时候采用的是定值,可以使用scanf函数进行改进输入,并且增加循环可以重复输入。