給定一個名為Complex(複數)的struct,如下列所示:
Matrix
- double real
- double imag
real 表示該複數實部的實數的值,imag 表示該複數虛部的實數的值
再給定主要執行程式 main.c (題號.c)、以及Header檔 function.h (題號.h);請試著完成Header檔中未實現的函式:Add()、Sub()、Mul()、Div()
Methods:
- Complex Add(Complex x, Complex y) – 將兩個複數相加並回傳(實部為兩複數實部相加,實部為兩複數虛部相加)
- Complex Sub(Complex x, Complex y) – 將兩個複數相減並回傳(實部為兩複數實部相減,實部為兩複數虛部相減)
- Complex Mul(Complex x, Complex y) – 將兩個複數相乘並回傳(實部為第一個複數實部平方減第二個複數的虛部平方,虛部為兩複數實部和虛部交叉相乘的和)
- Complex Div(Complex x, Complex y) – 將兩個複數相除並回傳(第一個複數乘上第二個複數的共軛複數 / 第二個複數乘上第二個複數的共軛複數的實部)
function.c
輸入符合以下格式
op
r1 i1
r2 i2
無需處理輸入
輸出符合以下格式
(real) + (imag)i
無需處理輸出