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

2025-02-03 04:07:52
推荐回答(1个)
回答1:

#include
#include
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;
}