C语言程序编程设计。

img

#include <stdio.h>
#include <math.h>
void gt(float a, float b, float c,float t)
{
    float x1, x2;
    x1 = (-b + sqrt(t)) / (2 * a);
    x2 = (-b - sqrt(t)) / (2 * a);
    printf("有两个不相等的实数根:%f and %f\n", x1, x2);
}
void le(float a, float b, float c,float t)
{
    float x1;
    x1 = -b / (2 * a);
    printf("有两个相等的实数根:%f\n",x1);
}
void eq(float a, float b, float c,float t)
{
    float realt, imag;
    realt = -b / (2 * a);
    imag = sqrt(-t) / (2 * a);
    printf("有复根:\n");
    printf("%f+%fi\n", realt , imag);
    printf("%f-%fi\n", realt , imag);
}

int main()
{
    float a,b,c,t;
    scanf("%f%f%f",&a,&b,&c);
    float result;
    
    t=b*b-4*a*c;
    if (fabs(t) <=1e-6)              //有两个相等的实数根的情况
    {
        le(a, b, c,t);
    }
    else if (t > 1e-6)               //有两个不等的实数根的情况
    {
        gt(a, b, c,t);
    }
    else                                //有复数根的情况
    {
        eq(a, b, c,t);
    }

    return 0;   
    
}