天天看點

結構實作複數運算

定義描述複數類型的結構體變量,編寫減法函數sub()與乘法函數mul(),分别完成複數的減法與乘法運算。

在主函數中定義四個複數類型變量c1、c2、c3、c4,輸入c1、c2的複數值,調用sub()完成c3=c1-c2操作,調用mul()完成c4=c1*c2操作。最後輸出c3、c4複數值。

比如,使用者輸入”-0.5 1.5 1.5 0.5”(表示c1為-0.5+1.5i,c2為1.5+0.5i),程式應輸出”-2 1 -1.5 2”(表示c3為-2+1i,c4為-1.5+2i).

要求:

使用者輸入的資料之間用一個空格隔開程式輸出的資料之間用一個空格隔開送出代碼時不能有其他多餘的cin和cout語句

效果如下:

輸入:1 1 2 2

輸出:-1 -1 0 4

#include <iostream>using namespace std;
struct pluar{    
	double in, ou;
};
pluar sub(pluar, pluar);
pluar mul(pluar, pluar);
int main()
{    
	double a, b, c, d;    
	cin>>a>>b>>c>>d;    
	pluar c1 = {a, b};    
	pluar c2 = {c, d};    
	pluar c3,c4;    
	c3 = sub(c1, c2);    
	c4 = mul(c1, c2);    
	cout<<c3.in<<" "<<c3.ou<<" "<<c4.in<<" "<<c4.ou;
    	return 0;
}
//減法
pluar sub(pluar a, pluar b)
{    
	pluar tmp;    
	tmp.in = a.in - b.in;    
	tmp.ou = a.ou - b.ou;    
	return tmp;
}
//乘法
pluar mul(pluar a, pluar b)
{    
	pluar tmp;    
	tmp.in = a.in * b.in - a.ou * b.ou;    
	tmp.ou = a.in * b.ou + a.ou * b.in;    
	return tmp;
}