在c語言中,如果直接在公式中輸出i,編譯器會將其當成乙個變數,且是乙個未定義的變數,從而出現錯誤。所以我們需要採取一種方式,巧妙地迴避這樣的問題
即將複數的實部和虛部分別輸出
舉個例子,當我們用程式解ax2+bx+c=0時,會出現b2-4ac<0的情況,此時需要使用虛數
倘若我們直接將公式打出
x1=
(-b+
sqrt
(-b*b+
4*a*c)
*i)/(2
*a);
x2=(
-b-sqrt
(-b*b+
4*a*c)
*i)/(2
*a);
則會出現這樣的報錯提示
因此我們可以採用這樣的方式,巧妙地避開了這樣的問題
t=
sqrt(4
*a*c-b*b)/(
2*a)
;printf
("the roots of the equation are %.2f+-i%.2f."
,-b/(2
*a),t)
;
C語言中的虛數
一 c中有三個型別可以儲存複數 float complex 實部和虛部都為float型別 double complex 實部和虛部都為double型別 long double complex 實部和虛部都為long double型別 二 complex不免有些複雜,只要加入標頭檔案 complex....
虛數的意義
有人在stack exchange問了乙個問題 這裡是引用 我一直覺得虛數 imaginary number 很難懂。中學老師說,虛數就是 1的平方根。可是,什麼數的平方等於 1呢?計算器直接顯示出錯!直到今天,我也沒有搞懂。誰能解釋,虛數到底是什麼?它有什麼用?帖子的下面,很多人給出了自己的解釋,...
虛數的意義
我一直覺得虛數 imaginary number 很難懂。中學老師說,虛數就是 1的平方根。直到今天,我也沒有搞懂。誰能解釋,虛數到底是什麼?它有什麼用?帖子的下面,很多人給出了自己的解釋,還推薦了一篇非常棒的文章 虛數的 我讀後恍然大悟,醍醐灌頂,原來虛數這麼簡單,一點也不奇怪和難懂!下面,我就用...