原題如下:
本題要求編寫程式,計算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。
2 3.08 -2.04 5.06
(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
1 1 -1 -1.01
(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
該題需要注意的地方有以下幾點:
1、判斷ch1, ch2, ch3的正負,也即b1、b2和計算結果的虛部是否小於零;
2、需要將輸入的四個值保留1位小數輸出;
3、計算結果不是用保留了1位小數的四個值,而是用原來的輸入值,比如第乙個測試用例的加,如果按照四捨五入之後的數進行計算的話,所得虛部應該是8.2的,而用原來的3.08+5.06得到的值卻是8.1;
4、在對double型資料進行非零判斷時不能用a == 0或者a!=0這樣的語句(a是double型的),而應該用fabs(a - 0) < 0.05 和 fabs(a - 0) >= 0.05;
**如下:
#include #include int main()
; for (i = 0; i < 4; i++)//輸入四個係數,並且保留一位小數字
else
}if (ratio[1] < 0)
ch1 = '-';
else
ch1 = '+';
if (ratio[3] < 0)
ch2 = '-';
else
ch2 = '+';
for (i = 0; i < 4; i++) }
return 0;
}
複數四則運算
include include struct complex void initcomplex complex c,float r1,float r2 void addcomplex complex c,complex c1,complex c2 void subcomplex complex c,...
6 17複數四則運算
設計複數庫,實現基本的複數加減乘除運算。輸入時只需分別鍵入實部和虛部,以空格分割,兩個複數之間用運算子分隔 輸出時按a bi的格式在螢幕上列印結果。參加樣例輸入和樣例輸出。注意考慮特殊情況,無法計算時輸出字串 error 樣例輸入 2 4 3 2 樣例輸出 14 8i 樣例輸入 3 2 1 3 樣例...
5 36 複數四則運算
本題要求編寫程式,計算2個複數的和 差 積 商。輸入格式 輸入在一行中按照a1 b1 a2 b2的格式給出2個複數c1 a1 b1i和c2 a2 b2i的實部和虛部。題目保證c2不為0。輸出格式 分別在4行中按照 a1 b1i 運算子 a2 b2i 結果的格式順序輸出2個複數的和 差 積 商,數字精...