1051 复数乘法 (15分))(C语言)

1051 复数乘法 (15分)

复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i
​2
​​ =−1;也可以写成极坐标下的指数形式 (R×e
​(Pi)
​​ ),其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 R(cos§+isin§)。

现给定两个复数的 R 和 P,要求输出两数乘积的常规形式。

输入格式:
输入在一行中依次给出两个复数的 R
​1
​​ , P
​1
​​ , R
​2
​​ , P
​2
​​ ,数字间以空格分隔。

输出格式:
在一行中按照A+Bi的格式输出两数乘积的常规形式,实部和虚部均保留 2 位小数。注意:如果B是负数,则应该写成A-|B|i的形式。

输入样例:

2.3 3.5 5.2 0.4

输出样例:

-8.68-8.23i
#include"stdio.h"
#include"math.h"
int main()
{
    double a,b,c,d,f[4],A,B;
    int i;
    for(i=0;i<4;i++)
    scanf("%lf",&f[i]);
    a=f[0]*cos(f[1]);
    b=f[0]*sin(f[1]);
    c=f[2]*cos(f[3]);
    d=f[2]*sin(f[3]);
    A=a*c-b*d;
    B=a*d+b*c;
     if(fabs(A)<0.01){
        A=0;
    }
    if(fabs(B)<0.01){
        B=0;
    }
    if(B<0)
    printf("%.2f%.2fi",A,B);
    else
    printf("%.2f+%.2fi",A,B);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_39915248/article/details/108263715