PAT B1051 複數乘法 13分錯誤原因

首先講一下三角形式的複數乘法

其次 13分的原因:

改了A(實部) 別忘改B(虛部)

C++代碼

#include <iostream>
#include <algorithm>
#include <vector>
#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)-sin(p1)*sin(p2));
	B=r1*r2*(cos(p1)*sin(p2)+sin(p1)*cos(p2));
	if(A>=-0.005&&A<=0) printf("0.00");
	else printf("%.2f",A);
	
	if(B>=0) printf("+%.2fi",B);
	else if(B>=-0.005&&B<=0) printf("+0.00i");
	else printf("%.2fi",B);
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章