码迷,mamicode.com
首页 > 其他好文 > 详细

1051 复数乘法 (15分)

时间:2020-02-07 14:33:45      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:直接   ensure   turn   lan   script   main   cli   保留   mes   

复数可以写成 ( 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 1;也可以写成极坐标下的指数形式 (,其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 (。

现给定两个复数的 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

 1 #include <stdio.h>
 2 #include <iostream>
 3 #include <string.h>
 4 #include <cmath>
 5 using namespace std;
 6 
 7 int main(){
 8     
 9     
10     double r1,p1,r2,p2,a,b;    
11     
12     cin>>r1>>p1>>r2>>p2;
13     
14     a=r1*r2*(cos(p1)*cos(p2)-sin(p1)*sin(p2));
15     b=r1*r2*(cos(p1)*sin(p2)+sin(p1)*cos(p2));
16     //保留两位小数,所以实数和虚数部分的绝对值小于0.01的话,直接以0.00代替 
17     if(fabs(a)<0.01)
18         printf("0.00");
19     else
20         printf("%.2lf",a);
21     
22     if(fabs(b)<0.01)
23         printf("+0.00i");    
24     else if(b<0)
25         printf("%.2lfi",b);
26     else
27         printf("+%.2lfi",b);
28     
29     return 0;
30 } 

 

 

1051 复数乘法 (15分)

标签:直接   ensure   turn   lan   script   main   cli   保留   mes   

原文地址:https://www.cnblogs.com/geyang/p/12272840.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!