算法训练 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

 1 import java.text.DecimalFormat;
 2 import java.text.NumberFormat;
 3 import java.util.ArrayList;
 4 import java.util.Scanner;
 5 import java.util.Stack;  
 6 
 7     public class Main{   
 8         public static void main(String[] args){  
 9             Scanner input = new Scanner(System.in);
10             String temp = input.next();
11             char fu = temp.charAt(0);
12             double a = input.nextDouble();
13             double b = input.nextDouble();
14             double c = input.nextDouble();
15             double d = input.nextDouble();
16             double n,m;
17             if(fu=='-'){
18                 n = a-c;
19                 m = b-d;
20             }else if(fu=='+'){
21                 n = a+c;
22                 m = b+d;
23             }else if(fu=='*'){
24                 n = a*c-b*d;
25                 m = a*d+b*c;
26             }else{
27                 n = (a*c+b*d)/(c*c+d*d);
28                 m = (b*c-a*d)/(c*c+d*d);
29             }
30             System.out.printf("%.2f+%.2fi",n,m);
31         }
32  }  

 

posted @ 2017-03-07 13:06  来一点音乐  阅读(214)  评论(0编辑  收藏  举报