藍橋杯 之 算法訓練 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();
}
}