C-求方程的根

题目描述

求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。

输入

a b c

输出

x1=? x2=?

样例输入

4 1 1

样例输出

x1=-0.125+0.484i x2=-0.125-0.484i

参考答案

#include 
#include 
#include 
int main()

{

    float a,b,c,q;

    void shigen(float,float,float);

    void denggen(float ,float );

    void xugen(float ,float ,float);

    scanf("%f%f%f",&a,&b,&c);

    q=b*b-4*a*c;

    if(q>0) shigen(a,b,q);

    else if(q==0) denggen(a,b);

    else xugen(a,b,q);

    return 0;

}
void shigen(float a,float b,float q)
{
    float x1,x2;
    x1=(-1*b+sqrt(q))/2*a;
    x2=(-1*b-sqrt(q))/2*a;
    printf("x1=%.3f x2=%.3f",x1,x2);
}
void denggen(float a,float b)
 {
     float x1,x2;
     x1=(-1*b)/2*a;
     x2=x1;
     printf("x1=%.3f x2=%.3f",x1,x2);
 }
void xugen(float a,float b,float q)
{
    float t1,t2;
    t1=(-1*b)/(2*a);
    t2=(sqrt(-1*q))/(2*a);
    printf("x1=%.3f+%.3fi x2=%.3f-%.3fi",t1,t2,t1,t2);
}

知识点总结:

复根的求法

你可能感兴趣的:(C-求方程的根)