本题要求编写程序,计算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
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45#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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复