复数运算规则:
规定复数的乘法按照以下的法则进行:
设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i.
其实就是把两个复数相乘,类似两个多项式相乘,展开得:ac+adi+bci+bdi^2,因为i^2=-1,所以结果是(ac-bd)+(bc+ad)i。两个复数的积仍然是一个复数。
①设复数a+bi(a,b∈R),除以c+di(c,d∈R),其商为x+yi(x,y∈R),
即(a+bi)÷(c+di)=x+yi
∵(x+yi)(c+di)=(cx-dy)+(dx+cy)i.
∴(cx-dy)+(dx+cy)i=a+bi.
由复数相等定义可知cx-dy=adx+cy=b
解这个方程组,得x=(ac+bd)/(c^2+d^2)y=(bc-ad)/(c^2+d^2)
----摘自百科
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int main() 5 { 6 char ch; 7 double a,b,c,d; 8 scanf("%c%lf%lf%lf%lf",&ch,&a,&b,&c,&d); 9 if(ch=='+') 10 printf("%.2lf+%.2lfi",a+c,b+d); 11 if(ch=='-') 12 printf("%.2lf+%.2lfi",a-c,b-d); 13 if(ch=='*') 14 printf("%.2lf+%.2lfi",a*c-b*d,a*d+b*c); 15 if(ch=='/') 16 printf("%.2lf+%.2lfi",(a*c+b*d)/(c*c+d*d),(b*c-a*d)/(c*c+d*d)); 17 return 0; 18 }