※ [本文轉錄自 NTUBIME99-HW 看板]
作者: matrixjimmy (Jimmy) 看板: NTUBIME99-HW
標題: [轉錄][C++] 上機考 (7)
時間: Sun Dec 17 14:49:36 2006
※ [本文轉錄自 NTUBIME97-HW 看板]
作者: ychia (12/13~17 生機週!!) 看板: NTUBIME97-HW
標題: [C++] 上機考 (7)
時間: Wed Dec 8 00:25:28 2004
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
#include <cmath>
int main()
{
float a, b, c, D; // ax^2 + bx + c, D = b^2 - 4ac
cout << "這是一個計算二元一次方程式 ax^2 + bx + c = 0 的程式" << endl;
cout << "請輸入 a : ";
cin >> a;
cout << "請輸入 b : ";
cin >> b;
cout << "請輸入 c : ";
cin >> c;
// 如果 a = 0, 則不須用到公式解, x = -c/b
if ( a == 0 ) {
if ( b != 0 )
cout << "x = " << -1 * c / b << endl;
else if ( b == 0 ) // 分母不能為零
cout << "無解" << endl;
else
cout << "what condition?";
}
else {
D = pow( b, 2) - 4 * a * c; // 判別式
if ( D > 0 )
cout << "x = " << ( -1 * b + sqrt(D) ) / ( 2 * a ) << " , "
<< "x = " << ( -1 * b - sqrt(D) ) / ( 2 * a ) << endl;
if ( D == 0 )
cout << "x = " << ( -1 * b ) / ( 2 * a ) << " , "
<< "x = " << ( -1 * b ) / ( 2 * a ) << endl;
if ( D < 0 ) { // 將負根號轉換成 i , 顯示分數
D = -D;
cout << "x = ( " << ( -1 * b ) << " + " << sqrt(D) << "i" << " )/" << ( 2 * a ) << " , "
<< "x = ( " << ( -1 * b ) << " - " << sqrt(D) << "i" << " )/" << ( 2 * a ) << endl;
}
}
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.22.100
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.101.203
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.241.52