上海做网站那家公司好,哈尔滨精致网站建设,惠州网站制作推广,腾讯cdn加速优化wordpress题目
复数可以写成 (ABi) 的常规形式#xff0c;其中 A 是实部#xff0c;B 是虚部#xff0c;i 是虚数单位#xff0c;满足 i2 −1#xff1b;也可以写成极坐标下的指数形式 (Re(Pi))#xff0c;其中 R 是复数模#xff0c;P 是辐角#xff0c;i 是虚数单位Bi) 的常规形式其中 A 是实部B 是虚部i 是虚数单位满足 i2 −1也可以写成极坐标下的指数形式 (R×e(Pi))其中 R 是复数模P 是辐角i 是虚数单位其等价于三角形式 R(cos( P )isin(P ))。
现给定两个复数的 R 和 P要求输出两数乘积的常规形式。
输入格式
输入在一行中依次给出两个复数的 R1, P1 , R2 , P2 数字间以空格分隔。
输出格式
在一行中按照 ABi 的格式输出两数乘积的常规形式实部和虚部均保留 2 位小数。注意如果 B 是负数则应该写成 A-|B|i 的形式。
输入样例
2.3 3.5 5.2 0.4输出样例
-8.68-8.23i分析
复数的常规形式、指数形式、三角形式都是等价的。所以将三角形式展开得 Rcos( P )Rsin(P ) i。再结合常规形式的AB i所以ARcos( P )BRsin(P )。复数乘法(a1 b1i) (a2 b2i) a1a2-b1b2(a1b2a2b1) i输出格式1.保留2位2.虚部为负数时。保留2位在C/C里保留小数位数都是按照四舍五入的原则进行所以当实部或虚部在(-0.005,0)时输出-0.00但-0.00显然是不合理的应该输出0.00同理虚部应该输出0.00i。
AC代码
#includeiostream
#includeiomanip
#includecmath
using namespace std;
int main()
{double r1,p1,r2,p2;cinr1p1r2p2;double a1r1*cos(p1),b1r1*sin(p1);double a2r2*cos(p2),b2r2*sin(p2);double aa1*a2-b1*b2,ba1*b2a2*b1;if(a-0.005a0)cout0.00;elsecoutfixedsetprecision(2)a;if(b-0.005b0)cout0.00i;else if(b-0.005)coutfixedsetprecision(2)bi;elsecoutfixedsetprecision(2)bi;return 0;
}更多题解 PAT 乙级(Basic Level) 题解汇总持续更新C