题解 | #计算一元二次方程#

计算一元二次方程

https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26

#include <stdio.h>
#include<math.h>
int main()
{
    double a,b,c;
 while(scanf("%lf %lf %lf",&a,&b,&c)!=EOF)
 {
    double dert;
    double x1,x2;
    if(a==0)
    {
        printf("Not quadratic equation");
    }
    if(a!=0)
    {
       dert=(b*b)-4*a*c;
       double r=sqrt(dert);
       double r1=sqrt(-dert);
       if(dert==0)
       {
         x1=(-b+r)/(2.0*a);
         if(x1==-0)
         {
            x1=0;
         }
         printf("x1=x2=%.2lf\n",x1);
       }
       if(dert>0)
       {
        x1=(-b+r)/(2.0*a);
        x2=(-b-r)/(2.0*a);
        printf("x1=%.2lf;x2=%.2lf\n",x2,x1);
       }
       if(dert<0)
       {
        x1=-b/(2.0*a);
        x2=r1/(2.0*a);
         printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",x1,x2,x1,x2);
       }
    }
 }
    return 0;
}

全部评论

相关推荐

代码飞升:别用口语,后端就写后端,前端就写前端,最后别光后悔
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务