C语言程序设计教程(第三版)课后习题8.2

C语言程序设计教程(第三版)课后习题8.2,第1张

题目描述

求方程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;
}

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/790103.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存