1 源代码
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
double real;
double img;
}complex;
complex a={1,2};
complex b={3,4};
complex c;
void add(complex ,complex ,complex *);
void mul(complex ,complex ,complex *);
void sub(complex ,complex ,complex *);
void divi(complex ,complex ,complex *);
int main()
{
add(a,b, &c);
printf("和的实部为%f\n",c.real);
printf("和的虚部为%f\n",c.img);
printf("\n");
mul(a,b, &c);
printf("积的实部为%f\n",c.real);
printf("积的虚部为%f\n",c.img);
printf("\n");
sub(a,b, &c);
printf("差的实部为%f\n",c.real);
printf("差的虚部为%f\n",c.img);
printf("\n");
divi(a,b, &c);
printf("商的实部为%f\n",c.real);
printf("商的虚部为%f\n",c.img);
printf("\n");
return 0;
}
void add(complex a,complex b,complex *c)
{
c->real=a.real+b.real;
c->img=a.img+b.img;
}
void mul(complex a,complex b,complex *c)
{
c->real=a.real*b.real - a.img*b.img;
c->img=a.real*b.img + a.img*b.real;
}
void sub(complex a,complex b,complex *c)
{
c->real=a.real-b.real;
c->img=a.img-b.img;
}
void divi(complex a,complex b,complex *c)
{
c->real=( a.real*b.real+a.img*b.img )/( b.real*b.real+b.img*b.img);
c->img=( a.img*b.real-a.real*b.img)/(b.real*b.real+b.img*b.img);
}
2 结果
