概述
本题要求编写程序,计算2个复数的和、差、积、商。
【输入】
输入在一行中按照“a1 b1 a2 b2”的格式给出2个复数C1=a1+b1*i和C2=a2+b2*i的实部和虚部。题目保证C2不为0。
【输出】
分别在4行中按照“(a1+b1i) 运算符(a2+b2i) = 结果”的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0,则不输出。如果结果为0,则输出0.0。
【输入示例1】
2 3.08 -2.04 5.06
【输出示例1】
(2.0+3.1i) + (-2.0+5.1i) = 8.1i
(2.0+3.1i) - (-2.0+5.1i) = 4.0-2.0i
(2.0+3.1i) * (-2.0+5.1i) = -19.7+3.8i
(2.0+3.1i) / (-2.0+5.1i) = 0.4-0.6i
【输入示例2】
1 1 -1 -1.01
【输出示例2】
(1.0+1.0i) + (-1.0-1.0i) = 0.0
(1.0+1.0i) - (-1.0-1.0i) = 2.0+2.0i
(1.0+1.0i) * (-1.0-1.0i) = -2.0i
(1.0+1.0i) / (-1.0-1.0i) = -1.0
#include<stdio.h>
int main(){
double a[3],b[3],f[5][3];
char g[5]={' ','+','-','*','/'};//第一个可更换
int i,c=1,d=1;
scanf("%lf %lf",&a[1],&a[2]);
scanf("%lf %lf",&b[1],&b[2]);
f[1][1]=a[1]+b[1];f[1][2]=a[2]+b[2];
f[2][1]=a[1]-b[1];f[2][2]=a[2]-b[2];
f[3][1]=a[1]*b[1]-a[2]*b[2];f[3][2]=a[1]*b[2]+a[2]*b[1];
f[4][1]=(a[1]*b[1]+a[2]*b[2])/(b[1]*b[1]+b[2]*b[2]);f[4][2]=(-a[1]*b[2]+a[2]*b[1])/(b[1]*b[1]+b[2]*b[2]);//计算
for(i=1;i<=4;i++){
if((int)(f[i][1]*10)==0){c=0;}
if((int)(f[i][2]*10)==0){d=0;}//判断是否为0
if(b[2]>=0&&a[2]>=0){
if(c+d==0) printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = 0.0",a[1],a[2],g[i],b[1],b[2]);
else if(c==0) printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = %.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][2]);
else if(d==0) printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = %.1lf",a[1],a[2],g[i],b[1],b[2],f[i][1]);
else if(f[i][2]>0)printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = %.1lf+%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
else printf("(%.1lf+%.1lfi) %c (%.1lf+%.1lfi) = %.1lf%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
}else if(a[2]>=0){
if(c+d==0) printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = 0.0",a[1],a[2],g[i],b[1],b[2]);
else if(c==0) printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = %.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][2]);
else if(d==0) printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = %.1lf",a[1],a[2],g[i],b[1],b[2],f[i][1]);
else if(f[i][2]>0)printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = %.1lf+%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
else printf("(%.1lf+%.1lfi) %c (%.1lf%.1lfi) = %.1lf%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
}else if(b[2]>=0){
if(c+d==0) printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = 0.0",a[1],a[2],g[i],b[1],b[2]);
else if(c==0) printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = %.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][2]);
else if(d==0) printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = %.1lf",a[1],a[2],g[i],b[1],b[2],f[i][1]);
else if(f[i][2]>0)printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = %.1lf+%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
else printf("(%.1lf%.1lfi) %c (%.1lf+%.1lfi) = %.1lf%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
}else{
if(c+d==0) printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = 0.0",a[1],a[2],g[i],b[1],b[2]);
else if(c==0) printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = %.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][2]);
else if(d==0) printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = %.1lf",a[1],a[2],g[i],b[1],b[2],f[i][1]);
else if(f[i][2]>0)printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = %.1lf+%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
else printf("(%.1lf%.1lfi) %c (%.1lf%.1lfi) = %.1lf%.1lfi",a[1],a[2],g[i],b[1],b[2],f[i][1],f[i][2]);
}
c=1;d=1;
if(i!=4){
printf("n");
}
}
}
最后
以上就是内向电脑为你收集整理的7-3 复数四则运算的全部内容,希望文章能够帮你解决7-3 复数四则运算所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复