#11463: C++ 之解答


Zhuang101 (unknown)

學校 : 臺北市立松山高級中學
編號 : 59903
來源 : [61.216.85.171]
最後登入時間 :
2016-12-24 02:00:52
a006. 一元二次方程式 | From: [61.216.85.171] | 發表日期 : 2016-10-22 13:31

/*   功能:輸入三數而得一元二次方程式的解
      作者:Zhuang101
      時間:西元 2016 年 10 月 22 日   */

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

int main()
    {
    int a, b, c, d;   //a  為 x 平方 的係數;b 為 x 的係數;c 為常數;d 為判別式

    //以一元二次方程式的公式解求出 a ,b,c
    while (cin >> a >> b >> c)
        {
        d = b * b - 4 * a * c;

        if (d > 0)
            //-------> 除以 2 * a 要記的括弧起來,否則系統會判讀成 (-b - sqrt (d) ) 除以 2 再乘上 a (本人正如此犯錯) <---------
            cout << "Two different roots " << "x1=" << (-b + sqrt (d) ) / (2 * a) << " , " <<"x2=" << (-b - sqrt (d) ) / (2 * a) << endl;
        else if (d == 0)
            //-------> 除以 2 * a 要記的括弧起來,否則系統會判讀成 -b  除以  2  再乘上  a <----------
            cout << "Two same roots " << "x=" << -b / (2 * a) << endl;
        else if (d < 0)
             cout << "No real root" << endl;
        }
    return 0;
    }

 
ZeroJudge Forum