数据结构实验:抽象数据类型的表示与实现(复数的加减运算)使用类c语言
时间: 2024-09-06 07:06:49 浏览: 80
在C语言中,为了实现复数的加减运算并体现抽象数据类型的特性,我们可以创建两个自定义的数据类型`Complex`,分别代表复数的实部和虚部。首先,我们需要定义一个包含实部和虚部的结构体:
```c
typedef struct {
double real; // 实部
double imag; // 虚部
} Complex;
```
接下来,我们分别为加法和减法操作创建函数,它们接受两个`Complex`类型的参数,并返回一个新的`Complex`结果:
```c
// 添加两个复数
Complex add(Complex c1, Complex c2) {
Complex result;
result.real = c1.real + c2.real;
result.imag = c1.imag + c2.imag;
return result;
}
// 减去一个复数
Complex subtract(Complex c1, Complex c2) {
Complex result;
result.real = c1.real - c2.real;
result.imag = c1.imag - c2.imag;
return result;
}
```
然后,你可以像操作基本类型一样使用这些函数,比如:
```c
int main() {
Complex a = {3.0, 4.0}; // 复数3 + 4i
Complex b = {1.5, 2.0}; // 复数1.5 + 2i
Complex sum = add(a, b); // (3+4i) + (1.5+2i)
printf("Sum: %.2f + %.2fi\n", sum.real, sum.imag);
Complex diff = subtract(a, b); // (3+4i) - (1.5+2i)
printf("Difference: %.2f + %.2fi\n", diff.real, diff.imag);
return 0;
}
```
阅读全文