藍橋杯 之 算法訓練 P1103

藍橋杯 之 算法訓練 P1103

編程實現兩個複數的運算。設有兩個複數 和 ,則他們的運算公式爲:

要求:(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) {
        //Java中的複數運算
        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();

    }
}

複數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章