
#include
typedef struct
{ float real;
float image;
} complex ;
void initcomplex(complex &l)
{ l.real=0;
l.image=0;
}
complex getcomplex(float a,float b,complex &l)
{ l.real=a;
l.image=b;
return l;
}
complex addcomplex(complex &s,complex t)
{ s.real=s.real+t.real;
s.image=s.image+t.image;
return s;
}
complex subtractcomplex(complex s,complex t)
{ s.real=s.real-t.real;
s.image=s.image-t.image;
return s;
}
complex multiplycomplex(complex s,complex t)
{ s.real=s.real*t.real;
s.image=s.image*t.image;
return s;
}
complex dividecomplex(complex s,complex t)
{ s.real=s.real/t.real;
s.image=s.image/t.image;
return s;
}
void printcomplex(complex l)
{ printf("%g%+-gi\n",l.real,l.image);
}
int main()
{ float a,b;
complex l,m;
printf("输入复数的实部和虚部\n");
scanf("%g%g",&a,&b);
// initcomplex(l);
getcomplex(a,b,l);
printcomplex(l);
printf("输入另一个复数的实部和虚部:\n");
scanf("%g%g",&m.real,&m.image);
addcomplex(m,l);
printcomplex(m);
return 0;
}