java藍橋杯算法訓練 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

/**
 * 
 */
package 算法訓練;

import java.util.Scanner;

/**
 * @author Administrator
 *
 */
public class 算法訓練P1103 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		String temp=sc.next();
		char fu=temp.charAt(0);
		double a=sc.nextDouble();
		double b=sc.nextDouble();
		double c=sc.nextDouble();
		double d=sc.nextDouble();
		double n,m;
		if (fu=='+') {
			n=a+c;
			m=b+d;
		}
		else if (fu=='-') {
			n=a-c;
			m=b-d;
		}else if (fu=='*') {
			n=a*c-b*d;
			m=a*d+b*c;
		}
			else
		{
				n=(a*c+b*d)/(c*c+d*d);
				m=(b*c-a*d)/(c*c+d*d);
		}
		System.out.printf("%.2f+%.2fi",n,m);
	}

}


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