作业帮 > 综合 > 作业

用C语言求解一元二次方程

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/05 18:39:51
用C语言求解一元二次方程
#include
float f(float);
void main()
{
float a,b,c,d,x1,x2,p,q;
printf("a=");
scanf("%f",&a);
printf("b=");
scanf("%f",&b);
printf("c=");
scanf("%f",&c);
d=b*b-4*a*c;
if(a==0)
{
printf("error");
}
else
{
if(d>=0)
{
x1=(-b+f(d))/(2*a);
x2=(-b-f(d))/(2*a);
printf("x1=%f\nx2=%f",x1,x2);
}
else
{
p=(-b)/(2*a);
q=(f(-d))/(2*a);
printf("x1=%f+%fi\nx2=%f+%fi\n",p,q,p,q);
}
}
}
float f(float a)
{
float c,b;
while(a>c)
{
b=b+0.00001;
c=b*b;
}
return(a);
}