浮點型資料不能直接比較

2021-10-06 02:12:59 字數 1567 閱讀 1407

程式設計題: 計算2個複數的和、差、積、商。

輸入格式:

輸入在一行中按照a1 b1 a2 b2的格式給出2個複數c1=a1+b1i和c2=a2+b2i的實部和虛部。題目保證c2不為0。

輸出格式:

分別在4行中按照(a1+b1i) 運算子 (a2+b2i) = 結果的格式順序輸出2個複數的和、差、積、商,數字精確到小數點後1位。如果結果的實部或者虛部為0,則不輸出。如果結果為0,則輸出0.0。

輸入樣例1:

2 3.08 -2.04 5.06
輸出樣例1:

(2.0+3.1i) + (-2.0+5.1i) = 8.1i

(2.0+3.1i) - (-2.0+5.1i) = 4.0-2.0i

(2.0+3.1i) * (-2.0+5.1i) = -19.7+3.8i

(2.0+3.1i) / (-2.0+5.1i) = 0.4-0.6i

輸入樣例2:

1 1 -1 -1.01
輸出樣例2:

(1.0+1.0i) + (-1.0-1.0i) = 0.0

(1.0+1.0i) - (-1.0-1.0i) = 2.0+2.0i

(1.0+1.0i) * (-1.0-1.0i) = -2.0i

(1.0+1.0i) / (-1.0-1.0i) = -1.0

**樣例

#include

void

print1

(double m,

double n)

void

print2

(double m,

double n)

else

if(m>

-0.05

&&m<

0.05

&&(n<=

-0.05

||n>=

0.05))

printf

("%.1lfi"

,n);

elseif(

(m<=

-0.05

||m>=

0.05

)&&n>

-0.05

&&n<

0.05

)printf

("%.1lf"

,m);

else

printf

("0.0");

}int

main

(void

)print1

(a2,b2)

;printf

(" = ");

print2

(s1,s2)

;puts(""

);}return0;

}

浮點型資料

浮點型資料是用來表示具有小數點的實數的。為什麼在c中把實數稱為浮點數呢?在c語言中,實數是以指數形式存放在儲存單元中的。乙個實數表示為指數可以有不止一種形式,如3.14159可以表示為 3.14159 10e0,0.314159 10e1,0.0314159 10e2,31.4159 10e 1,3...

浮點數比較大小的時候不能直接用等號

例如下面的例子 如果你要使用程式比較 0.2 0.1 與0.3的大小的時候,會發現他們不相等的,通過輸出0.2 0.1的結果發現 0.2 0.1 0.30000000000000004 因此,0.2 0.1就不等於0.3了,因此在程式中遇到類似的問題只能按照精度進行比較 1 public class...

關於浮點型的運算 比較

1.常見問題 a 0.1 b 0.7 var dump a b 0.8 列印出來的值居然為 boolean false printf 20f a printf 20f b 0.10000000000000000555 0.69999999999999995559 顯然是不相等的。對於常用金額資料比較...