抽象数据类型表示复数运算
复习数据结构第一个代码!!!!!
#include<stdio.h>
typedef struct{
float realpart;//定义实数部分
float imagpart;//定义虚部
}Complex;
void assign(Complex *A,float real,float imag);
void add(Complex *c,Complex A,Complex B);
void mutiply(Complex *c,Complex A,Complex B);
void divide(Complex *c,Complex A,Complex 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 mutiply(Complex *c,Complex A,Complex B){
c->realpart=A.realpart*B.realpart-A.imagpart*B.imagpart;
c->imagpart=A.realpart*B.imagpart+A.imagpart*B.realpart;
}
void divide(Complex *c,Complex A,Complex B){
c->realpart=(A.realpart*B.realpart+A.imagpart*B.imagpart)/(B.realpart*B.realpart+B.imagpart*B.imagpart);
c->imagpart=(A.imagpart*B.realpart-A.realpart*B.imagpart)/(B.realpart*B.realpart+B.imagpart*B.imagpart);
}
int main(){
Complex A, B, c, d, re;
assign(&A, 8, 6);
assign(&B, 4, 3);
add(&c, A, B);
mutiply(&d, A, B);
divide(&re, d, c);
printf("%lf+%lfi", re.realpart, re.imagpart);
return 0;
}