求方程ax^2+bx+c=0的根,用三个函数gz,ez和sz分别求当b^2-4ac大于0、等于0和小于0时的根,并输出结果。从主函数输入a、b、c的值。(输出保留3位小数)
输入a b c(a不等于0,b,c不同时为0)
输出x1=? x2=?
样例输入4 1 1样例输出
x1=-0.125+0.484i x2=-0.125-0.484i
#include
#include
//大于0
void gz(double p,double q){
printf("x1=%.3f x2=%.3f",p+q,p-q);
}
//等于0
void ez(double p,double q){
printf("x1=%.3f x2=%.3f",p,p);
}
//小于0
void sz(double p,double q){
double i;
i=1e-6;
printf("x1=%.3f+%.3fi x2=%.3f-%.3fi",p,q,p,q);
}
int main()
{
double a,b,c,m,p,q;
scanf("%lf%lf%lf",&a,&b,&c);
if(a!=0){
m=pow(b,2)-4*a*c;
p=-b*1.0/(2*a);
q=sqrt(fabs(m))*1.0/(2*a);
if(m>0) gz(p,q);
else if(m==0) ez(p,q);
else sz(p,q);
}
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)