pat乙级1051

#include<iostream>
#include<cmath>
using namespace std;
#define EPSILON 0.01
int main()
{
    double a, b, c, d;
    cin >> a >> b >> c >> d;//复数的极坐标形式乘法,模长相乘,模角相加,然后根据极坐标转直角坐标系公式,x=rcosp,y=rsinp;
    double r = a * c;
    double p = b + d;
    double x = r * cos(p);
    double y = r * sin(p);
    if (fabs(x) < EPSILON) {//如果x的绝对值=0.000000<0.01,输出0;fabs函数求绝对值,参数为DOUBLE,返回值也为double
        x = 0;
    }
    if (fabs(y) < EPSILON) {
        y = 0;
    }
    if (y >=0) {
        printf("%.2lf+%.2lfi", x,y);
    }
    else {
        printf("%.2lf%.2lfi", x, y);
    }
    return 0;
}

代码学习笔记 文章被收录于专栏

学习笔记,pat,牛客

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务