C语言用结构体写一个复数之积
时间: 2023-12-29 10:55:16 浏览: 87
可以用结构体表示复数,其中一个成员表示实部,另一个成员表示虚部。乘法运算可以按照复数的乘法规则进行计算。
以下是一个示例代码:
```c
#include <stdio.h>
typedef struct {
double real;
double imag;
} Complex;
Complex multiply(Complex a, Complex b) {
Complex result;
result.real = a.real * b.real - a.imag * b.imag;
result.imag = a.real * b.imag + a.imag * b.real;
return result;
}
int main() {
Complex a = {1.0, 2.0};
Complex b = {2.0, 3.0};
Complex c = multiply(a, b);
printf("(%g + %gi) * (%g + %gi) = %g + %gi\n", a.real, a.imag, b.real, b.imag, c.real, c.imag);
return 0;
}
```
输出结果为:
```
(1 + 2i) * (2 + 3i) = (-4 + 7i)
```
其中,`multiply` 函数实现了复数乘法,接受两个复数作为参数,返回它们的乘积。在 `main` 函数中,我们定义了两个复数 `a` 和 `b`,并将它们相乘得到 `c`,最后输出结果。
阅读全文