复数四则运算

傷城~ 2022-04-24 13:40 379阅读 0赞

复数四则运算

在这里插入图片描述
整体思路
先计算出加减乘除后实部和虚部的值,然后编写输出格式函数


















函数名称 函数说明
print 用于输出=的前部分
printp 输出等号的结果部分
  1. #include<stdio.h>
  2. #include<math.h>
  3. void print(double a,double b);//输出输入部分
  4. void printp(double a,double b);//输出结果部分
  5. int main(void)
  6. {
  7. double a,b,c,d;
  8. double sum1,sum2;
  9. double del1,del2;
  10. double mul1,mul2;
  11. double div1,div2;
  12. scanf("%lf%lf%lf%lf",&a,&b,&c,&d);
  13. sum1=a+c;//加
  14. sum2=b+d;
  15. del1=a-c;//减
  16. del2=b-d;
  17. mul1=a*c-b*d;//乘
  18. mul2=b*c+a*d;
  19. div1=(a*c+b*d)/(c*c+d*d);//除
  20. div2=(b*c-a*d)/(c*c+d*d);
  21. print(a,b);
  22. printf(" + ");
  23. print(c,d);
  24. printf(" = ");
  25. printp(sum1,sum2);
  26. print(a,b);
  27. printf(" - ");
  28. print(c,d);
  29. printf(" = ");
  30. printp(del1,del2);
  31. print(a,b);
  32. printf(" * ");
  33. print(c,d);
  34. printf(" = ");
  35. printp(mul1,mul2);
  36. print(a,b);
  37. printf(" / ");
  38. print(c,d);
  39. printf(" = ");
  40. printp(div1,div2);
  41. return 0;
  42. }
  43. void print(double a,double b)
  44. {
  45. if(b<0)
  46. printf("(%.1f%.1fi)",a,b);//如果是负数不用加符号
  47. else
  48. printf("(%.1f+%.1fi)",a,b);//如果虚部>0,需要加+
  49. }
  50. void printp(double a,double b)
  51. {
  52. if(b<0.05&&b>-0.05)//虚部为0的情况 //实部和虚部都为0的情况包含在1,2中
  53. printf("%.1f",a);
  54. else if(a<0.05&&a>-0.05)//实部为0的情况
  55. printf("%.1fi",b);
  56. else if(b<0)//虚部为-的情况
  57. printf("%.1f%.1fi",a,b);
  58. else//虚部为正的情况
  59. printf("%.1f+%.1fi",a,b);
  60. printf("\n");
  61. }

发表评论

表情:
评论列表 (有 0 条评论,379人围观)

还没有评论,来说两句吧...

相关阅读

    相关 golang:复数

    在计算机中,复数是由两个浮点数表示的,其中一个表示实部(real),一个表示虚部(imag)。 Go语言中复数的类型有两种,分别是 complex128(64 位实数和虚数)