• 算法训练 P1103


      算法训练 P1103  
    时间限制:1.0s   内存限制:256.0MB
        
      
      编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为:

      要求:(1)定义一个结构体类型来描述复数。
      (2)复数之间的加法、减法、乘法和除法分别用不用的函数来实现。
      (3)必须使用结构体指针的方法把函数的计算结果返回。
      说明:用户输入:运算符号(+,-,*,/) a b c d.
      输出:a+bi,输出时不管a,b是小于0或等于0都按该格式输出,输出时a,b都保留两位。

    输入:
      - 2.5 3.6 1.5 4.9
    输出:
      1.00+-1.30i
    import java.util.Scanner;
    public class Main {
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc=new Scanner(System.in);
            char s;
            s=sc.next().charAt(0);
            double a,b,c,d;
            a= sc.nextDouble();
            b= sc.nextDouble();
            c= sc.nextDouble();
            d= sc.nextDouble();
            if(s=='+')
                System.out.printf("%.2f+%.2fi",a+c,b+d);
            if(s=='-')
                System.out.printf("%.2f+%.2fi",a-c,b-d);
            if(s=='*')
                System.out.printf("%.2f+%.2fi",a*c-b*d,a*d+b*c);
            if(s=='/')
                System.out.printf("%.2f+%.2fi",(a*c+b*d)/(c*c+d*d),(b*c-a*d)/(c*c+d*d));
            System.out.println();
    
        }
    
    }

    -----------------------

    关于复数

    --------------------------------------

    复数的加法按照以下规定的法则进行:z1=a+bi,z2=c+di是任意两个复数,

    则它们的和是 (a+bi)+(c+di)=(a+c)+(b+d)i.

    复数的减法按照以下规定的法则进行:z1=a+bi,z2=c+di是任意两个复数,

    则它们的差是 (a+bi)-(c+di)=(a-c)+(b-d)i.

       设z1=a+biz2=c+di(abcdR)是任意两个复数,那么它们的积       (a+bi)(c+di)=(ac-bd)+(bc+ad)i.

    除法运算规则:

    ①设复数a+bi(abR),除以c+di(cdR),其商为x+yi(xyR)

    (a+bi)÷(c+di)=x+yi分母有理化

    分母有理化

    (x+yi)(c+di)=(cx-dy)+(dx+cy)i.

    (cx-dy)+(dx+cy)i=a+bi.

    由复数相等定义可知 cx-dy=a dx+cy=b

    解这个方程组,得 x=(ac+bd)/(c^2+d^2) y=(bc-ad)/(c^2+d^2)

    于是有:(a+bi)/(c+di)=(ac+bd)/(c^2+d^2) +(bc-ad)/(c^2+d^2)i

  • 相关阅读:
    简单的模板解析函数
    HTML通过事件传递参数到js 二 event
    HTML通过事件传递参数到js一
    通过this获取当前点击选项相关数据
    LeetCode 20. 有效的括号(Valid Parentheses)
    LeetCode 459. 重复的子字符串(Repeated Substring Pattern)
    LeetCode 14. 最长公共前缀(Longest Common Prefix)
    LeetCode 168. Excel表列名称(Excel Sheet Column Title)
    LeetCode 171. Excel表列序号(Excel Sheet Column Number) 22
    LeetCode 665. 非递减数列(Non-decreasing Array)
  • 原文地址:https://www.cnblogs.com/watchfree/p/5316613.html
Copyright © 2020-2023  润新知