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;
}