>>15
#include <stdio.h>
#include <math.h>
void add( const double* a, const double* b, double* c ) {
c[0] = a[0] + b[0];
c[1] = a[1] + b[1];
}
void multiply( const double* a, const double* b, double* c ) {
c[0] = a[0]*b[0] - a[1]*b[1];
c[1] = a[1]*b[0] + a[0]*b[1];
}
void divide( const double* a, const double* b, double* c ) {
double m = a[1]*a[1] + b[1]*b[1];
c[0] = ( a[0]*b[0] + a[1]*b[1] ) / m;
c[1] = ( a[0]*b[1] + a[1]*b[0] ) / m;
}
int main (int argc, char * const argv[]) {
double e1[2] = { 2, 3 }, e2[2] = { -1, 2 }, e3[2] = { 1, 1 }, e4[2] = { 0, 5 };
double c1[2], c2[2], c3[2];
multiply( e1, e2, c1 );
divide( c1, e3, c2 );
add( c2, e4, c3 );
printf( "result:%lf%cj%lf", c3[0], c3[1]<0?'-':'+', fabs(c3[1]) );
return 0;
}