zoukankan      html  css  js  c++  java
  • PAT-乙级-1051 复数乘法

    复数可以写成(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


    分析:
      此题注意输出保留两位小数
      因此fabs(x)<0.01的数都应被当作0.01
      还要注意使用double类型
      第四个数据就卡这两个点


     1 //c99
     2 
     3 #include<stdio.h>
     4 #include<stdlib.h>
     5 #include<math.h>
     6 
     7 int main(){
     8   double r1,p1,r2,p2;
     9   double a1,a2,b1,b2;
    10   scanf("%lf%lf%lf%lf",&r1,&p1,&r2,&p2);
    11   a1=r1*cos(p1);b1=r2*cos(p2);
    12   a2=r1*sin(p1);b2=r2*sin(p2);
    13   double real=a1*b1-a2*b2;
    14   double imag=a1*b2+a2*b1;
    15   if(fabs(real)<0.01)
    16     real=0;
    17   if(fabs(imag)<0.01)
    18     imag=0;
    19   printf("%.2f%+.2fi",real,imag);
    20   return 0;
    21 }
     
  • 相关阅读:
    设计模式之工厂方法3
    Orchard CMS中如何打包不带源码的模块
    Dump Checking
    认识WinDbg
    Bootstrap3.0学习第九轮(CSS补充)
    SVN版本冲突解决详解
    windbg Symbol file path
    SVN下错误集锦
    MvcMovieStore mvc5.0,EF6.01
    SQL Server中的窗口函数
  • 原文地址:https://www.cnblogs.com/tenjl-exv/p/9899146.html
Copyright © 2011-2022 走看看