很简单,用C语言实现抽象数据类型的定义

99 阅读1分钟
#include <stdio.h>
// 用C语言实现抽象数据类型的定义
typedef struct {
  float realpart;  // 实部
  float imagpart;  // 虚部
} Complex;         // 定义复数抽象类型

void assign(Complex *A, float real, float imag);  // 赋值
void add(Complex *c, Complex A, Complex B);       // A + B
void minus(Complex *c, Complex A, Complex B);     // A - B
void multiply(Complex *c, Complex A, Complex B);  // A * B
void divide(Complex *c, Complex A, Complex B);    // A / B

void assign(Complex *A, float real, float imag) {
  A->realpart = real;  // 实部赋值
  A->imagpart = imag;  // 虚部赋值
}

void add(Complex *c, Complex A, Complex B) {
  c->realpart = A.realpart + B.realpart;  // 实部相加
  c->imagpart = A.imagpart + B.imagpart;  // 虚部相加
}
void minus(Complex *c, Complex A, Complex B) {
  c->realpart = A.realpart - B.realpart;  // 实部相减
  c->imagpart = A.imagpart - B.imagpart;  // 虚部相减
}
void multiply(Complex *c, Complex A, Complex B) {
  c->realpart = A.realpart * B.realpart;  // 实部相乘
  c->imagpart = A.imagpart * B.imagpart;  // 虚部相乘
}
void divide(Complex *c, Complex A, Complex B) {
  c->realpart = A.realpart / B.realpart;  // 实部相除
  c->imagpart = A.imagpart / B.imagpart;  // 虚部相除
}