题解 | 计算一元二次方程

计算一元二次方程

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

#include <iostream>
#include <cmath>
using namespace std;

int main()
 {
    float a, b, c;
    float x1,x2;
    while (cin >> a >> b >> c)
     { // 注意 while 处理多个 case
       float deta = b *b -4*a*c; 
       if(a == 0) cout << "Not quadratic equation" << endl;
       else if(deta == 0)
                {
                    float mp = -b + sqrt(deta);
                    if(mp == 0)
                        {
                             printf("x1=x2=%.2f\n",mp);
                        }
                        else{
                                printf("x1=x2=%.2f\n",(-b+sqrt(deta))/2.0/a);
                            }
                }
       else if(deta > 0)printf("x1=%.2f;x2=%.2f\n",(-b-sqrt(deta))/2.0/a,(-b+sqrt(deta))/2.0/a);
       else if(deta < 0) printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n",-b/2/a,sqrt(-deta)/2/a,-b/2/a,sqrt(-deta)/2/a);
    }
 }
// 64 位输出请用 printf("%lld")

为什么会有输出为-0.00的情况

全部评论

相关推荐

10-28 10:48
已编辑
门头沟学院 Java
孩子我想要offer:发笔试后还没笔试把我挂了,然后邮箱一直让我测评没测,后面不知道干嘛又给我捞起来下轮笔试,做完测评笔试又挂了😅
点赞 评论 收藏
分享
10-13 13:49
南京大学 财务
饿魔:笑死我了,你简直是个天才
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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