求方程 ax²+bx十c=0的根,用3 个函数分别求当:b²-4ac 大于0、等于0和小于0 时的根并输出结果。从主函数输人a,6,c的值。

求方程 ax²+bx十c=0的根,用3 个函数分别求当:b²-4ac 大于0、等于0和小于0 时的根并输出结果。从主函数输人a,b,c的值。

主函数输入a,b,c的值吧?怎么是6。小于0是输出虚数,还是返回错误?

#include <stdio.h>
#include <math.h>
void fun2(float dis,float a,float b)
{
        float x1=(-b+sqrt(dis))/(2*a);
        float x2=(-b-sqrt(dis))/(2*a);
        printf("该函数有两个不等的实根:x1=%f x2=%f\n",x1,x2);
}
void fun1(float a,float b)
{
      float x = (-b)/(a*a);
      printf("该函数有两个相等的实根:x=%f\n",x);
}
void fun0(float dis,float a,float b)
{
    float r =-b/(2*a);
    float i =sqrt(-dis)/(2*a);
    printf("该函数有两个不等的虚根:x1=%8.4f+%8.4fi x2=%8.4f-%8.4fi\n",r,i,r,i);
}
int main()
{
    float a,b,c,dis,x1,x2;
    printf("请输入a,b,c的值: ");
    scanf("%f %f %f",&a,&b,&c);
    dis=b*b-4*a*c;
    if(dis<0)
    {
        fun0(dis,a,b);
    }
    else if(dis==0)
    {
        fun1(a,b);
    }
    else 
    {
        fun2(dis,a,b);
    }
    return 0;
}