1051 复数乘法 (15 分)
Posted anber82
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1051 复数乘法 (15 分)相关的知识,希望对你有一定的参考价值。
题目:
思路:
- 调用math函数库即可计算。另外需要注意若实部和虚部小于0.005且为负数时保留两位小数得到的是-0.00,直接上会wrong answer,所以需要将保留两位小数得到的结果为0的数去符号。
代码:
1 #include <iostream> 2 #include <cmath> 3 using namespace std; 4 5 int main() 6 7 double r1, r2, p1, p2; 8 cin >> r1 >> p1 >> r2 >> p2; 9 double fact1 = r1 * r2 * ( cos(p1) * cos(p2) - sin(p1) * sin(p2) ); 10 double fact2 = r1 * r2 * ( cos(p1) * sin(p2) + sin(p1) * cos(p2) ); 11 if(fabs(fact1) < 0.005) 12 13 fact1 = 0; 14 15 if(fabs(fact2) < 0.005) 16 17 fact2 = 0; 18 19 if(fact2 < 0) 20 printf("%.2lf%.2lfi\\n",fact1, fact2); 21 else 22 printf("%.2lf+%.2lfi\\n",fact1, fact2); 23 return 0; 24
总结:
- 要考虑0的符号。
以上是关于1051 复数乘法 (15 分)的主要内容,如果未能解决你的问题,请参考以下文章