用c++实现复数的生成,求和,求差,求积,获得实部,获得虚部
时间: 2024-05-09 08:20:25 浏览: 109
```c
#include <stdio.h>
typedef struct {
double real;
double imag;
} complex;
complex add(complex a, complex b) {
complex res;
res.real = a.real + b.real;
res.imag = a.imag + b.imag;
return res;
}
complex sub(complex a, complex b) {
complex res;
res.real = a.real - b.real;
res.imag = a.imag - b.imag;
return res;
}
complex mul(complex a, complex b) {
complex res;
res.real = a.real * b.real - a.imag * b.imag;
res.imag = a.real * b.imag + a.imag * b.real;
return res;
}
double get_real(complex c) {
return c.real;
}
double get_imag(complex c) {
return c.imag;
}
int main() {
complex a, b, c;
a.real = 1.0;
a.imag = 2.0;
b.real = 3.0;
b.imag = 4.0;
c = add(a, b);
printf("a + b = %.2f + %.2fi\n", c.real, c.imag);
c = sub(a, b);
printf("a - b = %.2f + %.2fi\n", c.real, c.imag);
c = mul(a, b);
printf("a * b = %.2f + %.2fi\n", c.real, c.imag);
printf("real part of a is %.2f\n", get_real(a));
printf("imaginary part of a is %.2f\n", get_imag(a));
return 0;
}
```