import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
double a,b,c,d,e,f;
a=scan.nextDouble();
b=scan.nextDouble();
c=scan.nextDouble();
d=scan.nextDouble();
System.out.printf("(%.1f%c%.1fi) + (%.1f%c%.1fi) = ",a,b<0?'-':'+',Math.abs(b),c,d<0?'-':'+',Math.abs(d));
e=a+c;
f=b+d;
solve(e,f);
System.out.printf("(%.1f%c%.1fi) - (%.1f%c%.1fi) = ",a,b<0?'-':'+',Math.abs(b),c,d<0?'-':'+',Math.abs(d));
e=a-c;
f=b-d;
solve(e,f);
System.out.printf("(%.1f%c%.1fi) * (%.1f%c%.1fi) = ",a,b<0?'-':'+',Math.abs(b),c,d<0?'-':'+',Math.abs(d));
e=a*c-b*d;
f=a*d+b*c;
solve(e,f);
System.out.printf("(%.1f%c%.1fi) / (%.1f%c%.1fi) = ",a,b<0?'-':'+',Math.abs(b),c,d<0?'-':'+',Math.abs(d));
e=(a*c+b*d)/(c*c+d*d);
f=(b*c-a*d)/(c*c+d*d);
solve(e,f);
}
static int judge(double x)
{
return Math.abs(x)<0.05?0:1;
}
static void solve(double e,double f)
{
if(judge(e)==0&&judge(f)==0){
System.out.printf("0.0\n");
}
else if(judge(e)==0){
System.out.printf("%.1fi\n",f);
}
else if(judge(f)==0){
System.out.printf("%.1f\n",e);
}
else{
System.out.printf("%.1f%c%.1fi\n",e,f<0?'-':'+',Math.abs(f));
}
}
}
PTA 7-23 复数四则运算(JAVA)
猜你喜欢
转载自blog.csdn.net/m0_47470899/article/details/109892647
今日推荐
周排行