Python复数,python复数类型加法运算

  Python复数,python复数类型加法运算

  # includeltstdio.hgt

  #includeltstdlib.hgt

  数据类型说明结构复杂

  {

  浮实;

  浮动图像;

  }复杂;

  复数初始复合体(浮点一,浮点b) /*给复数的实部和虚部复制,并返回复数。*/

  {

  复杂c;

  c。real=a;

  c。image=b;

  返回c;

  }

  复数加法(复数c1,复数c2)

  {/*两个复数相加。公式:(a bi) (c di)=(a b) (c d)i .*/

  复数和;

  总和。雷亚尔=C1。皇家C2。真实;

  总和。图片=C1。想象C2。形象;

  返回总和;

  }

  复杂子系统(复杂c1、复杂c2)

  {/*两个复数相减。公式:(a bi)-(c di)=(a-b) (c-d)i .*/

  复杂差离值

  dif。雷亚尔=C1。皇家C2。真实;

  dif。图片=C1。图片-C2。形象;

  返回差离值

  }

  复数Mul(复数c1,复数c2)

  {/*两个复数相乘。公式:(a bi)*(c di)=(ac-bd) (ad bc)i .*/

  复杂产品;

  产品。雷亚尔=C1。真正的C2。皇家C1。图片* C2。形象;

  产品。图片=C1。真正的C2。想象C1。图片* C2。真实;

  退回产品;

  }

  复杂Div(复杂c1,复杂c2)

  {/*两个复数相除,利用分母的共轭复数来通分(i*i=-1)。

  公式:(a bi)/(c di)=(a bi)*(c-di)/((c di)*(c-di))=(a bi)*(c-di)/(c * c d * d),其中c迪不等于0。*/

  复数商;

  商数。实数=0;

  商数。图像=0;

  如果(C2。realt1e-38 C2。图1e-38)

  {printf(c2为0!错误!\ n’);回报商;}

  商数。实数=

  (C1。真正的C2。皇家C1。图片* C2。图片)/(C2。真正的C2。皇家C2。图片* C2。图片);

  商数。图像=

  (C1。图片* C2。皇家C1。真正的C2。图片)/(C2。真正的C2。皇家C2。图片* C2。图片);

  回报商;

  }

  浮点GetReal(复杂c)

  {/*取复数实部*/

  返回c .真实;

  }

  浮点GetImag(复杂c)

  {/*取复数虚部*/

  返回c .图像

  }

  作废打印_C(复杂c)

  {/*复数输出*/

  if(GetImag(c)==0.0)printf( % 5.2f \ n ,GetReal(c));

  else if(get real(c)==0.0)printf( % 5.2 fi \ n ,GetImag(c));

  else printf(%5.2f %5.2fi\n ,GetReal(c),GetImag(c));

  }

  void main()

  {

  复数z1,z2,sum,dif,pro,quo

  浮动e1、E2;

  字符符号

  printf(输入运算符号(,-,*,/):);

  scanf(%c ,sym);/* ******************提示输入需要进行的四则运算。 */

  printf(输入z1 like: 3.0 2.1i或-3.0-2.1i \ nz1=);

  scanf(%f %fi ,e1,E2);

  z1=InitComplex(e1,E2);/* **********提示输入复数z1,并存入变量中。 */

  printf(Input z2 like: 3.0 2.1i或-3.0-2.1i \ nz2=);

  scanf(%f %fi ,e1,E2);

  z2=InitComplex(e1,E2);/* ****提示输入复数z2,并存入变量中。 */

  开关(对称)

  {

  case"":sum=Add(Z1,z2);print _ C(sum);打破;

  case -: dif=Sub(z1,z2);print _ C(dif);打破;

  case *: pro=Mul(z1,z2);print _ C(pro);打破;

  case /: quo=Div(z1,z2);print _ C(quo);打破;

  默认值:printf(错误符号!);

  /********如果输入了 、-、*、/以外的字符,则提示出错。 */

  }

  }

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: