c语言数据结构算复数
时间: 2024-09-29 16:03:35 浏览: 26
在C语言中,要创建和操作复数数据结构,可以定义一个包含两个成员的结构体,分别代表实部(real part)和虚部(imaginary part)。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义复数结构体
typedef struct {
double real; // 实部
double imag; // 虚部
} Complex;
// 初始化复数
Complex* create_complex(double real, double imag) {
Complex* complex = (Complex*)malloc(sizeof(Complex));
complex->real = real;
complex->imag = imag;
return complex;
}
// 打印复数
void print_complex(Complex* complex) {
printf("(%.2f + %.2fi)", complex->real, complex->imag);
}
int main() {
// 创建复数
Complex* num1 = create_complex(3.0, 4.5);
Complex* num2 = create_complex(-2.0, -1.0);
// 打印复数
print_complex(num1); // 输出: (3.00 + 4.50i)
print_complex(num2); // 输出: (-2.00 - 1.00i)
// 数学运算
Complex* sum = create_complex(0, 0);
sum->real = num1->real + num2->real;
sum->imag = num1->imag + num2->imag;
print_complex(sum); // 输出: (1.00 + 3.50i)
free(num1);
free(num2);
free(sum);
return 0;
}
```
在这个例子中,我们定义了结构体`Complex`,并实现了创建、打印复数以及简单加法的功能。请注意,在实际使用中,需要考虑内存管理,特别是当复数是临时对象时。
阅读全文