//1051
#include <iostream>
#include <cmath>
using namespace std;
int main(){
double A,B,r1,p1,r2,p2;
cin>>r1>>p1>>r2>>p2;
A=r1*r2*cos(p1)*cos(p2)-r1*r2*sin(p1)*sin(p2);
B=r1*r2*cos(p1)*sin(p2)+r1*r2*sin(p1)*cos(p2);
if (A + 0.005 >= 0 && A < 0)
printf("0.00");
else
printf("%.2f", A);
if(B >= 0)
printf("+%.2fi", B);
else if (B + 0.005 >= 0 && B < 0)
printf("+0.00i");
else
printf("%.2fi", B);
return 0;
}
由于当A或B小于0且大于-0.005时,会被取作-0.00,则会输出类似A-0.00i的形式,而正确形式应该为A+0.00i,所以要加一个判断。
参考:liuchuo