已知一元二次方程ax2+bx+c=0,编写一程序当从键盘输入a,b,c的值后,计算x的值即方程的解

已知一元二次方程ax2+bx+c=0,编写一程序当从键盘输入a,b,c的值后,计算x的值即方程的解。要求:当Δ小于0时即方程没有实数解时,程序也能算出其虚数解

#include<stdio.h>
#include<math.h>
int main()
{
double p,q,x1,x2,disc,a,b,c;
// 注意:此处要求输入时,三个数值之间用逗号隔开
scanf("%lf,%lf,%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2.0*a);
if(disc>0)
{
q=(sqrt(disc))/(2.0*a);
x1=p+q;
x2=p-q;
printf("\nx1=%lf\tx2=%lf",x1,x2);
}
else if(disc==0)
{
x1=p;
printf("\nx1=x2=%lf",x1);
}
else if(disc<0)
{
disc=-disc;
q=(sqrt(disc))/(2.0*a);
printf("\nx1=%lf+%lfi",p,q);
printf("\nx2=%lf-%lfi",p,q);
}
return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答