#include <stdio.h>
typedefstruct{
double real;
double imag;
}Complex;
Complex Add_Complex(Complex c1,Complex c2){ Complex c3;
c3.real=c1.real+c2.real;
c3.imag=c1.imag+c2.imag;
return c3;
}
Complex Sub_Complex(Complex c1,Complex c2){ Complex c3;
c3.real=c1.real-c2.real;
c3.imag=c1.imag-c2.imag;
return c3;
}
Complex Mul_Complex(Complex c1,Complex c2){ Complex c3;
c3.real=c1.real*c2.real-c1.imag*c2.imag; c3.imag=c2.imag*c1.real+c1.imag*c2.real;
return c3;
}
Complex Div_Complex(Complex c1,Complex c2){ Complex c3; c3.real=(c1.real*c2.real+c1.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
c3.imag=(c1.imag*c2.real-c1.real*c2.imag)/ (c2.real*c2.real+c2.imag*c2.imag);
return c3;
}
void Point_Complex(Complex c){
if(c.imag>=0){
printf("%lf+%lfi\n",c.real,c.imag);
}
else{
printf("%lf%lfi\n",c.real,c.imag);
}
}
int main() {
Complexc1,c2,c3;
printf("请输入第一个复数的实部和虚部:"); scanf("%lf%lf",&c1.real,&c2.real);
printf("请输入第二个复数的实部和虚部:"); scanf("%lf%lf",&c1.real,&c2.real);
c3=Add_Complex(c1,c2);
printf("\n加法结果:");
Point_Complex(c3);
c3=Sub_Complex(c1,c2);
printf("\n减法结果:");
Point_Complex(c3);
c3=Mul_Complex(c1,c2);
printf("\n乘法结果:");
Point_Complex(c3);
c3=Div_Complex(c1,c2);
printf("\n除法结果:");
Point_Complex(c3);
return 0;
}