C语言写结构体 复数运算
时间: 2023-04-12 07:00:29 浏览: 176
可以使用结构体来表示复数,例如:
```
typedef struct {
double real;
double imag;
} complex;
complex add(complex a, complex b) {
complex result;
result.real = a.real + b.real;
result.imag = a.imag + b.imag;
return result;
}
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;
}
```
这里定义了一个名为 complex 的结构体,包含实部和虚部两个成员变量。然后定义了两个函数 add 和 multiply,分别实现复数的加法和乘法。
相关问题
用c语言写个复数结构体代码
好的,以下是用 C 语言写的复数结构体代码:
```
typedef struct {
float real; // 实部
float 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;
}
// 输出复数
void print_complex(Complex c) {
printf("%.2f + %.2fi\n", c.real, c.imag);
}
```
希望能对你有所帮助!
用C语言写复数运算代码
以下是一个简单的复数运算代码示例,其中包含了加、减、乘、除和求模运算:
```c
#include <stdio.h>
#include <math.h>
typedef struct {
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;
}
// 求复数模
double abs(Complex a) {
return sqrt(a.real * a.real + a.imag * a.imag);
}
int main() {
Complex a = {1.0, 2.0};
Complex b = {3.0, 4.0};
Complex c = add(a, b);
printf("a + b = %.1f + %.1fi\n", c.real, c.imag);
c = sub(a, b);
printf("a - b = %.1f + %.1fi\n", c.real, c.imag);
c = mul(a, b);
printf("a * b = %.1f + %.1fi\n", c.real, c.imag);
c = div(a, b);
printf("a / b = %.1f + %.1fi\n", c.real, c.imag);
double mod = abs(a);
printf("|a| = %.1f\n", mod);
return 0;
}
```
该代码定义了一个名为Complex的结构体,包含了实部和虚部两个变量。然后定义了加、减、乘、除和求模等函数,分别实现了对两个复数进行相应运算。在main函数中,创建了两个复数a和b,分别调用以上函数进行运算,并输出结果。