求二元一次方程的根(浮點數輸出)

2021-07-07 08:25:39 字數 884 閱讀 7816

描述

利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根,其中a不等於0。

輸入 輸入一行,包含三個浮點數a, b, c(它們之間以乙個空格分開),分別表示方程ax2 + bx + c =0的係數。

輸出 輸出一行,表示方程的解。

若兩個實根相等,則輸出形式為:x1=x2=…。

若兩個實根不等,則輸出形式為:x1=…;x2 = …,其中x1若是兩個虛根,則輸出:x1=實部+虛部i; x2=實部-虛部i,其中x1,x2滿足以下兩個條件中的乙個:

1. x1的實部大於x2的實部

2. x1的實部等於x2的實部且x1的虛部大於等於x2的虛部

所有實數部分要求精確到小數點後5位,數字、符號之間沒有空格。

樣例輸入

1.0 2.0 8.0

樣例輸出

x1=-1.00000+2.64575i;x2=-1.00000-2.64575i

這題體驗了一把迷之浮點數。

開始wa了一發是因為答案可能輸出-0.00000 這種東西,但這是不合法的。於是需要在每乙個需要輸出的前面判斷一下輸出的浮點數是否為0,如果為0 需要取乙個fabs。

#include 

#include

#include

#include

using

namespace

std;

#define ll long long

int main()

if(dt>0)

else

return

0;}

求解二元一次方程組

問題描述 已知乙個二元一次方程組如下,其中 x,y 為兩個未知數,滿足以下條件 ax by m cx dy n 現要求編寫程式輸入常數a,b,c,d,m 和 n,計算 x 和 y 的值並輸出 不考慮 ad bc 0 的情況。輸入形 式 輸入六個非零實數 a,b,c,d,m 和 n。輸出形式 輸出 x...

利用Python求解二元一次方程

本程式流程如下 1 輸入a b c 2 計算 3 判斷解的個數 4 計算解 5 輸出解 求 x2 3x 2 0的解 輸入a b c a float input 輸入a input 函式將使用者輸入的內容以字串的形式返回,可以利用type 檢視型別。b float input 輸入b c float ...

C 日期操作 複數加減法 求二元一次方程的根

判斷閏年 bool isleapyear int year 計算日期從當年1月1日算起的天數 int getdayofyear const date date int b 13 if isleapyear year for i 0 ianyday.year else 執行到這一步一定year any...