PAT 乙级 1051 复数乘法 (15分)---【浮点数比较大小,fabs() 】

在这里插入图片描述

注意:

0.前提是保存两位小数
1.判断a是否为0.00
	if(fabs(a)<=0.001) {
		printf("0.00");
	}
2.判断b是否为0.00;负数,正数
#include<bits/stdc++.h>
using namespace std;

int main(){
    
    
	double r1,r2,p1,p2;
	cin>>r1>>p1>>r2>>p2;
	double a,b;
	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);

	//判断a
	if(fabs(a)<=0.001) {
    
    
		printf("0.00");
	}
	else {
    
    
		printf("%.2lf",a);
	} 
	//判断b 
	if(fabs(b)<=0.001){
    
    
		printf("+0.00i");
	}
	else if(b>0.001){
    
    
		printf("+%.2lfi",b);
	}
	else{
    
    
		printf("-%.2lfi",fabs(b));
	}
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/weixin_44926962/article/details/110427540