设计复数类,实现复数的+、-、*、/运算。
时间: 2024-02-01 18:03:14 浏览: 19
以下是Python实现:
```python
class Complex:
def __init__(self, real, imag):
self.real = real
self.imag = imag
def __add__(self, other):
return Complex(self.real + other.real, self.imag + other.imag)
def __sub__(self, other):
return Complex(self.real - other.real, self.imag - other.imag)
def __mul__(self, other):
return Complex(self.real * other.real - self.imag * other.imag,
self.real * other.imag + self.imag * other.real)
def __truediv__(self, other):
denominator = other.real ** 2 + other.imag ** 2
return Complex((self.real * other.real + self.imag * other.imag) / denominator,
(self.imag * other.real - self.real * other.imag) / denominator)
def __str__(self):
if self.imag >= 0:
return f"{self.real}+{self.imag}i"
else:
return f"{self.real}{self.imag}i"
```
使用示例:
```python
a = Complex(1, 2)
b = Complex(2, 3)
print("a =", a)
print("b =", b)
print("a + b =", a + b)
print("a - b =", a - b)
print("a * b =", a * b)
print("a / b =", a / b)
```
输出:
```
a = 1+2i
b = 2+3i
a + b = 3+5i
a - b = -1-1i
a * b = -4+7i
a / b = 0.6153846153846154-0.07692307692307693i
```