1051. 复数乘法 (15)

雨点打透心脏的1/2处 2022-07-28 00:28 272阅读 0赞

复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1;也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式(R(cos(P) + isin(P))。

现给定两个复数的R和P,要求输出两数乘积的常规形式。

输入格式:

输入在一行中依次给出两个复数的R1, P1, R2, P2,数字间以空格分隔。

输出格式:

在一行中按照“A+Bi”的格式输出两数乘积的常规形式,实部和虚部均保留2位小数。注意:如果B是负数,则应该写成“A-|B|i”的形式。

输入样例:

  1. 2.3 3.5 5.2 0.4

输出样例:

-8.68-8.23i

这道题考试的时候没有AC,思路错误了。学习了别人的代码,感觉数学功底真的很重要。

AC代码:

  1. #include<stdio.h>
  2. #include<iostream>
  3. #include<cmath>
  4. using namespace std;
  5. int main(){
  6. double r1,r2;
  7. double p1,p2;
  8. cin>>r1>>p1>>r2>>p2;
  9. double ansA = r1*r2*cos(p1+p2);
  10. double ansB = r1*r2*sin(p1+p2);
  11. if(-0.005<ansA&&ansA<0)printf("0.00");
  12. else printf("%.2f",ansA);
  13. if(ansB>=0)printf("+%.2fi\n",ansB);
  14. else if(-0.005<ansB&&ansB<0)printf("+0.00i\n");
  15. else printf("%.2fi\n",ansB);
  16. return 0;
  17. }

发表评论

表情:
评论列表 (有 0 条评论,272人围观)

还没有评论,来说两句吧...

相关阅读

    相关 1051 复数乘法(JAVA)

    复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i2=−1;也可以写成极坐标下的指数形式 (R×e(Pi)),其中 R 是复数模,P

    相关 PAT-1051 复数乘法 (15 分)

    复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i^2=−1;也可以写成极坐标下的指数形式 (R×e​(Pi)),其中 R 是复数模

    相关 1051 复数乘法(C#)

    一、题目内容如下: 复数可以写成 ( 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 1;也可以写成极坐标下的指数形式 (,其中 R 是复数模,P 是辐角