1051 复数乘法 (15 分)

1051 复数乘法 (15 分)

1051 复数乘法 (15 分)
输入样例:
2.3 3.5 5.2 0.4
输出样例:
-8.68-8.23i

AC代码

#include <iostream>
#include <cmath>
using namespace std;
int main() {
	double R1, P1, R2, P2;
	cin >> R1 >> P1 >> R2 >> P2;
	double S = R1*cos(P1)*R2*cos(P2) - R1*sin(P1)*R2*sin(P2);	//得到实部
	double X = R1*cos(P1)*R2*sin(P2) + R1*sin(P1)*R2*cos(P2);	//得到虚部
	if (abs(S) < 0.005) printf("0.00");		//实部足够小
	else printf("%.2lf", S);
	if (abs(X) < 0.005) printf("+0.00i\n");		//虚部足够小
	else if (X > 0) printf("+%.2lfi\n", X);
	else printf("%.2lfi\n", X);		//对虚部正负的判断
	return 0;
}