7 8 複數四則運算 10分

2021-10-23 02:53:33 字數 2493 閱讀 5958

#7-8 複數四則運算 (10分)**

本題要求編寫程式,計算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

第一次寫這個**理所當然的想把兩個複數直接輸出大概就是這個樣子

printf("(%.1lf+%.1lfi)符號(%.1lf+%.1lfi)=%.1lf");

依次輸出然後再寫乙個複數的計算函式就可以了

沒想到忽略了虛部正負的問題

嗯~ o( ̄▽ ̄)o當然複數的計算函式也想了很久

總想一次把結果全部輸出

結果卒第二次寫因為第一次的莽我由判斷虛部的正負得到了靈感

1.要分步輸出複數

2.每次輸出複數都要對虛部進行判斷(三種情況:正,負,0)

實部也要進行判斷如果是零就給它省去

3.既然複數都是分步輸出,那麼結果我不如也是分別計算實部與虛部再利用2進行判斷

結果四個資料點只過了一半,純實數和純虛數沒過

卒第三次寫看到網上的大佬說因為要先進行四捨五入在進行判斷是否為0,而本弱雞是先判斷是否為0,在輸出,所以覺得可能是這一點出現了問題,所以馬上改變了順序,但依然未過,我內牛滿面

卒第四次寫終於我領悟到了奧義

原來輸入兩個函式時當實部與虛部為0時,不用省去直接輸出

我的天啊!!!虧我省去了,還在只有實部或虛部時連括號都省去了,再次捂臉,白瞎了我的頭髮

經測試第三次說的無效,可能是資料點的問題,不過少些乙個四捨五入的函式不香嗎?嘿嘿嘿!!!

**總結一下難點複數的輸出以及結果實部與虛部是否為零的判斷

那個結果實部與虛部是否為零的判斷本弱雞是用絕對值

如果有更好的方法還請

大佬*指出

#include

#include

char fu[5]

=;void

shuchu

(double a,

double b,

double c,

double d,

int i)

;double

shi(

double a,

double b,

double c,

double d,

int e)

;doublexu(

double a,

double b,

double c,

double d,

int e)

;void

can1

(double a,

double b)

;void

can2

(double a,

double b)

;int main ()}

void

shuchu

(double a,

double b,

double c,

double d,

int i)

void

can1

(double a,

double b)

void

can2

(double a,

double b)

else;}

else}}

double

shi(

double a,

double b,

double c,

double d,

int e)

doublexu(

double a,

double b,

double c,

double d,

int e)

複數四則運算

include include struct complex void initcomplex complex c,float r1,float r2 void addcomplex complex c,complex c1,complex c2 void subcomplex complex c,...

7 57 複數四則運算 (15 分)

7 57 複數四則運算 15 分 本題要求編寫程式,計算2個複數的和 差 積 商。輸入格式 輸入在一行中按照a1 b1 a2 b2的格式給出2個複數c1 a1 b1i和c2 a2 b2i的實部和虛部。題目保證c2不為0。輸出格式 分別在4行中按照 a1 b1i 運算子 a2 b2i 結果的格式順序輸...

7 5 複數四則運算 (15 分

7 5 複數四則運算 15 分 本題要求編寫程式,計算2個複數的和 差 積 商。輸入格式 輸入在一行中按照a1 b1 a2 b2的格式給出2個複數c1 a1 b1i和c2 a2 b2i的實部和虛部。題目保證c2不為0。輸出格式 分別在4行中按照 a1 b1i 運算子 a2 b2i 結果的格式順序輸出...