C语言定义结构计算复数运算
时间: 2023-10-10 17:08:41 浏览: 114
可以使用结构体来表示复数,然后定义相应的运算函数。
以下是一个示例代码:
```c
#include <stdio.h>
typedef struct complex
{
double real; // 实部
double imag; // 虚部
} complex;
// 复数加法运算
complex add(complex a, complex b)
{
complex c;
c.real = a.real + b.real;
c.imag = a.imag + b.imag;
return c;
}
// 复数减法运算
complex sub(complex a, complex b)
{
complex c;
c.real = a.real - b.real;
c.imag = a.imag - b.imag;
return c;
}
// 复数乘法运算
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;
}
// 复数除法运算
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;
}
int main()
{
complex a = {1.0, 2.0};
complex b = {2.0, -1.0};
// 加法
complex c = add(a, b);
printf("a + b = %lf + %lfi\n", c.real, c.imag);
// 减法
c = sub(a, b);
printf("a - b = %lf + %lfi\n", c.real, c.imag);
// 乘法
c = mul(a, b);
printf("a * b = %lf + %lfi\n", c.real, c.imag);
// 除法
c = div(a, b);
printf("a / b = %lf + %lfi\n", c.real, c.imag);
return 0;
}
```
运行结果:
```
a + b = 3.000000 + 1.000000i
a - b = -1.000000 + 3.000000i
a * b = 4.000000 + 3.000000i
a / b = 0.200000 + 1.400000i
```
阅读全文
相关推荐














