题目

思路
- 复数运算的基本知识
- 测试点2,3考的是四舍五入,要求保留两位小数,当abs(A)<0.005时需要输出0.00 B同理。
AC代码
#include<bits/stdc++.h>
using namespace std;
int main(){
double r1,p1,r2,p2;
double a,b,c,d;
cin>>r1>>p1>>r2>>p2;
a=r1*(cos(p1));
b=r1*(sin(p1));
c=r2*(cos(p2));
d=r2*(sin(p2));
double A,B;
A=(a*c-b*d);
B=(b*c+a*d);
if(abs(A)<0.005) cout<<"0.00";
else cout<<setprecision(2)<<fixed<<A;
if(B<0 && abs(B)>=0.005) cout<<setprecision(2)<<fixed<<'-'<<abs(B)<<'i';
else if(B>0)cout<<setprecision(2)<<fixed<<'+'<<B<<'i';
else cout<<"+0.00i";
return 0;
}