1051 复数乘法
Posted keep23456
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1051 复数乘法相关的知识,希望对你有一定的参考价值。
这道题是所有题目中最坑的,可能是之前出题不严谨,也可能是我理解错了题意。
注意点:实部和虚部均保留 2 位小数,并不是指四舍五入后,保留两位小数,而是从小数点后面的第三位开始,直接抹去后面所有的数,此谓保留两位小数。例如,0.008保留 2 位小数后就是0.00。
#include<iostream> #include<cmath> #include<cstdlib> using namespace std; int main() { double r1,p1,r2,p2; cin>>r1>>p1>>r2>>p2; double a1,b1,a2,b2; a1 = r1*cos(p1); b1 = r1*sin(p1); a2 = r2*cos(p2); b2 = r2*sin(p2); double A,B; A = a1*a2 - b1*b2; B = a1*b2 + b1*a2; if(fabs(A) < 0.01) A = 0.00;//保留两位小数 if(fabs(B) < 0.01) B = 0.00;//保留两位小数 printf("%.2f",A); if(B >= 0) printf("+"); //整数要记得输出 加号 printf("%.2fi",B); return 0; }
实部和虚部均保留 2 位小数
以上是关于1051 复数乘法的主要内容,如果未能解决你的问题,请参考以下文章