1051 复数乘法 测试点2、3 舍入导致的符号问题
作者:互联网
错误点
- (-0.005,0)上的数精确到小数点后两位时应是0而不是-0
注意点
- cmath中的sin()和cos()
代码
#include <iostream>
#include <cstdio>
#include <cmath>
#include <iomanip>
using namespace std;
int main(){
double a,b,c,d;
double m,n;
cin>>a>>b>>c>>d;
m=a*c*cos(b)*cos(d)-a*c*sin(b)*sin(d);
n=a*c*cos(b)*sin(d)+a*c*sin(b)*cos(d);
if(m<0&&m>-0.005){
m=0;
}
if(n<0&&n>-0.005){
n=0;
}
if(n>=0){
cout<<fixed<<setprecision(2)<<m<<'+'<<n<<'i';
}
else if(n<0){
cout<<fixed<<setprecision(2)<<m<<n<<'i';
}
return 0;
}
标签:舍入,1051,cos,测试点,double,0.005,include,sin 来源: https://www.cnblogs.com/wodeblog1982/p/16462876.html