1051. 复数乘法 (15)(C++)
2018-02-12 14:52
501 查看
复数可以写成(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”的形式。输入样例:
2.3 3.5 5.2 0.4输出样例:
-8.68-8.23i
#include<iostream> #include<cstdio> #include<cmath> using namespace std; int main(){ double r1,p1,r2,p2,a,b; 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&&a<0) a=0; if(b>-0.005&&b<0) b=0; if(b<0) printf("%.2f%.2fi",a,b); if(b>=0) printf("%.2f+%.2fi",a,b); }
相关文章推荐
- C++ PAT乙 1051. 复数乘法 (15)
- 1051. 复数乘法 (15)
- 1051. 复数乘法 (15)
- 1051. 复数乘法 (15)-浙大PAT乙级真题java实现
- 1051. 复数乘法 (15)
- PAT乙级 1051. 复数乘法 (15)
- 1051. 复数乘法 (15)
- pat乙级1051. 复数乘法 (15)
- PAT(B) - 1051. 复数乘法 (15)
- 1051. 复数乘法 (15) PAT 乙级
- 1051. 复数乘法 (15)
- 1051. 复数乘法 (15)
- 1051. 复数乘法 (15)
- 1051. 复数乘法 (15)
- PAT (Basic Level) Practise (中文)1051. 复数乘法 (15)
- 1051. 复数乘法 (15)
- PAT 1051. 复数乘法 (15)--浮点数比较时的精度问题
- 1051. 复数乘法 (15)
- 1051. 复数乘法 (15)
- PAT乙级—1051. 复数乘法 (15)-native