程式C++高手幫幫忙

請幫我解這些題目 ,我要整個程式 謝謝

n一.計算 aX2+bx+c=0,輸入a,b,c, 求x解? n二.計算101+102+…+1000=?

已更新項目:

大大 你可以解釋一下這幾句嘛 謝謝

std::complex w(b * b - 4 * a * c);

w = std::sqrt(w);

std::complex r1(w + (-b / (2 * a))), r2(w + (-b / (2 * a)));

看不太懂

1 個解答

評分
  • 其威
    Lv 7
    9 年前
    最佳解答

    1. 一元二次方程式公式解

    http://zh.wikibooks.org/zh/%E5%A4%9A%E9%A0%85%E5%B...

    #include <iostream>

    #include <complex>

    int main()

    {

    double a, b, c;

    std::cin >> a >> b >> c;

    std::complex<double> w(b * b - 4 * a * c);

    w = std::sqrt(w);

    std::complex<double> r1(w + (-b / (2 * a))), r2(w + (-b / (2 * a)));

    std::cout << r1 << ", " << r2 << std::endl;

    }

    2.

    #include <iostream>

    int main()

    {

    int sum(0);

    for (int i(101);i <= 1000;++i)

    sum += i;

    std::cout << sum << std::endl;

    }

    2011-03-03 06:05:43 補充:

    我發現第一題有一點小錯誤. r1 跟 r2 不小心打錯了...

    應該是:

    std::complex< double > r1((-b + w) / (2 * a)), r2((-b - w) / (2 * a));

    其中 w 是 sqrt(b * b - 4 * a * c);

    r1 跟 r2 一個 + w 一個 - w.

    2011-03-03 06:08:10 補充:

    std::complex< > 是 c++ 提供的複數 class, template 參數是儲存的實際型態, 這裡用 double, 表示實數跟虛數部份用 double 表示.

    開根號是會有虛數根的嘛, 印出的 (a, b) 之中, a 是實數部份, b 是虛數部份.

還有問題?馬上發問,尋求解答。