题解 | 计算一元二次方程

计算一元二次方程

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

#include <stdio.h>
#include<math.h>

int main() {
    float a, b,c,m,n1,n2;
    while(scanf("%f %f %f", &a, &b,&c)!=EOF){
        
   m=b*b-4*a*c;
   n1=(-b+sqrt(m))/(2*a);
   n2=(-b-sqrt(m))/(2*a);

   if(a==0)
   printf("Not quadratic equation");
   else{
    if(m==0){
        if(n1==0)
        printf("x1=x2=0.00\n");
        else
        printf("x1=x2=%.2lf\n",n1);
    }
    else if(m>0)
    printf("x1=%.2lf;x2=%.2lf\n",n2,n1);
    else
    printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",-b/(2*a),(sqrt(-m)/(2*a)),-b/(2*a),(sqrt(-m)/(2*a)));
   }
}
   
   return 0;
}
    

真的好绕,有好多小细节。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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