PAT-B 1051. 复数乘法
来源:互联网 发布:美国陆军3 知乎 编辑:程序博客网 时间:2024/04/28 13:01
复数可以写成(A + Bi)的常规形式,其中A是实部,B是虚部,i是虚数单位,满足i2 = -1;也可以写成极坐标下的指数形式(R*e(Pi)),其中R是复数模,P是辐角,i是虚数单位,其等价于三角形式(R(cos(P) + isin(P))。
现给定两个复数的R和P,要求输出两数乘积的常规形式。
输入格式:
输入在一行中依次给出两个复数的R1, P1, R2, P2,数字间以空格分隔。
输出格式:
在一行中按照“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_r,b_r; double a_p,b_p; scanf("%lf%lf%lf%lf",&a_r,&a_p,&b_r,&b_p); double r=a_r*b_r*cos(a_p+b_p); double p=a_r*b_r*sin(a_p+b_p); int flag_r = 1; int flag_p = 1; if(fabs(r)<0.01) flag_r=0; if(fabs(p)<0.01) flag_p=0; // int flag_p =(fabs(r)<0.01)?0:1; if(flag_r==0&&flag_p==0) printf("0"); else if(flag_p==0&&flag_r!=0) printf("%.2f+0.00i",r); else if(flag_r==0&&flag_p!=0) printf("0.00%+.2fi",p); else printf("%.2f%+.2fi",r,p); return 0;}
0 0
- PAT-B 1051. 复数乘法
- PAT-B 1051. 复数乘法
- PAT(B) - 1051. 复数乘法 (15)
- [PAT-乙级]1051.复数乘法
- 1051. 复数乘法 (15) PAT
- PAT--1051. 复数乘法 (15)
- Java - PAT- 1051. 复数乘法 (15)
- PAT乙级 1051. 复数乘法 (15)
- 1051. 复数乘法 (15) PAT 乙级
- PAT BASIC LEVEL 1051. 复数乘法 (15)
- PAT乙级 1051. 复数乘法 (15)
- [PAT乙级]1051. 复数乘法 (15)
- PAT乙级1051. 复数乘法 (15)
- pat 乙级 1051. 复数乘法 (15)
- PAT乙级1051. 复数乘法 (15)
- PAT-B1051. 复数乘法
- PAT B1051. 复数乘法
- PAT 1051复数乘法
- TCP/IP数据包结构详解 ~张润萌
- ORA-00257: archiver error. Connect internal only, until freed
- UITableViewCell 复用笔记(一)结构设计
- CSS3 @media 查询
- css 定位与行框&行内框
- PAT-B 1051. 复数乘法
- mysql中 character set 和collation关系
- leetcode题集——最长回文子串(待整理)
- Android--进度条--ProgressBar--SeekBar
- POJ 3667 - Hotel(线段树+区间合并)
- android开发 使用Properties读取数据
- Deeplink做不出效果,那是你不会玩!
- Android技术——进程的注入技术的应用
- cuda 安装