7-36 复数四则运算(15 分)

/*细节略多,精简之后代码应该能控制在30-40行*/

#include<stdio.h>
#include<math.h>
void dayin(double a1,double a2)
{
    if(a2<0) printf("(%.1lf%.1lfi)",a1,a2);
    else printf("(%.1lf+%.1lfi)",a1,a2);
}
void dayinj(double c1,double c2)
{
    if(c2<=0.05&&c2>=-0.05)
    printf("%.1lf",c1);
    else if(c1<=0.05&&c1>=-0.05) 
    printf("%.1lfi",c2);
    else if(c2<0) printf("%.1lf%.1lfi",c1,c2);
    else printf("%.1lf+%.1lfi",c1,c2);
    printf("\n");
}
int main()
{
  double a1,a2,b1,b2;
  scanf("%lf%lf%lf%lf",&a1,&a2,&b1,&b2);
  double c1,c2;

  c1=a1+b1; c2=a2+b2;
  dayin(a1,a2);
  printf(" + ");
  dayin(b1,b2);
  printf(" = ");
  dayinj(c1,c2);

  c1=a1-b1; c2=a2-b2;
  dayin(a1,a2);
  printf(" - ");
  dayin(b1,b2);
  printf(" = ");
  dayinj(c1,c2);

  c1=a1*b1-a2*b2; c2=a1*b2+a2*b1;
  dayin(a1,a2);
  printf(" * ");
  dayin(b1,b2);
  printf(" = ");
  dayinj(c1,c2);

  c1=(a1*b1+a2*b2)/(b1*b1+b2*b2); c2=(a2*b1-a1*b2)/(b1*b1+b2*b2);
  dayin(a1,a2);
  printf(" / ");
  dayin(b1,b2);
  printf(" = ");
  dayinj(c1,c2);
  return 0;
}

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值