21xrx.com
2025-04-20 02:24:07 Sunday
文章检索 我的文章 写文章
如何用C语言实现复数的加减乘除
2023-06-15 16:14:13 深夜i     59     0
复数 加减乘除 C语言 结构体

复数是由实数和虚数构成的数,可以用a+bi的形式表示。在C语言中,可以使用结构体来定义和操作复数。

首先,定义一个结构体,包含实部和虚部:

typedef struct
  double real;
  double imag;
complex;

接着,实现复数的加减乘除操作:

复数加法:(a+bi) + (c+di) = (a+c) + (b+d)i

complex add(complex a, complex b) {
  complex c;
  c.real = a.real + b.real;
  c.imag = a.imag + b. imag;
  return c;
}

复数减法:(a+bi) - (c+di) = (a-c) + (b-d)i

complex sub(complex a, complex b)
  complex c;
  c.real = a.real - b.real;
  c.imag = a.imag - b.imag;
  return c;

复数乘法:(a+bi) * (c+di) = (ac-bd) + (ad+bc)i

complex mul(complex a, complex b) {
  complex c;
  c.real = a.real * b.real - a.imag * b.imag;
  c.imag = a.real * b.imag + a.imag * b.real;
  return c;
}

复数除法:(a+bi) / (c+di) = [(ac+bd)/(c^2+d^2)] + [(bc-ad)/(c^2+d^2)]i

complex div(complex a, complex b) {
  complex c;
  double denominator = b.real * b.real + b.imag * b.imag;
  c.real = (a.real * b.real + a.imag * b.imag) / denominator;
  c.imag = (a.imag * b.real - a.real * b.imag) / denominator;
  return c;
}

以上就是实现复数的加减乘除的C语言代码,可以用于学习和实践。

  
  

评论区