求一元二次方程ax2+bx+c=0.a b c为任意实数

img

img

#include <stdio.h>
#include<math.h>
int main( ) {
    double a,b,c,d,m,n,x1,x2;
    scanf("%lf %lf %lf",&a,&b,&c);
    d=b*b-4*a*c;
    if(d>=0) {
        x1=(-b+sqrt(d))/(2*a);
        x2=(-b-sqrt(d))/(2*a);
        printf("%.2lf %.2lf",x1,x2);
    } else {
        m=(-b)/(2*a);
        n=sqrt(-d)/(2*a);
        printf("%.2lf+%.2lfi %.2lf-%.2lfi",m,n,m,n);
    }
    return 0;
}


 有帮助请采纳

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^