用C语言定义复数

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验0预备实验实验题目:

用c语言的结构类型定义表示复数

(1)用浮点型

(2)实行+-*、/运算

实验代码:

#include

typedef struct{

int e1,e2;}Complex;

Complex InitComplex(int v1,int v2)

{Complex z;

z.e1=v1;

z.e2=v2;

return z;}

int Getreal(Complex z)

{

return z.e1;}

int Getimagetpart(Complex z)

{

return z.e2;

}

Complex Add(Complex z1,Complex z2)

{z1.e1=z1.e1+z2.e1;

z1.e2=z1.e2+z2.e2;

return z1;}

Complex Sub(Complex z1,Complex z2)

{z1.e1=z1.e1-z2.e1;

z2.e2=z1.e2-z2.e2;

return z1;}

Complex Mul(Complex z1,Complex z2)

{z1.e1=z1.e1*z2.e1+z1.e2+z2.e2;

z1.e2=z1.e1*z2.e2+z1.e2+z2.e1;

return z1;}

Complex Div(Complex z1,Complex z2)

{z1.e1=(z1.e1*z2.e1+z1.e2+(-z2.e2))/(z2.e1*z2.e1-z2.e2*z2.e2);

z1.e2=(z1.e1*(-z2.e2)+z1.e2+z2.e1)/(z2.e1*z2.e1-z2.e2*z2.e2);

return z1;}

main()

{

char e;

int x,y,a,b;

Complex z1,z2,z;

printf("please input first complex number:\n"); scanf("%d%d",&x,&y);

z1=InitComplex(x,y);

printf("the other one:\n");

scanf("%d%d",&a,&b);

z2=InitComplex(a,b);

printf("please choice operation:+,-,*,/:\n"); getchar();

scanf("%c",&e);

if(e=='+')

z=Add(z1,z2);

if(e=='-')

z=Sub(z1,z2);

if(e=='*')

z=Mul(z1,z2);

if(e=='/')

z=Div(z1,z2);

printf("%d+%di",z.e1,z.e2);

return0;

}

实验截图:

相关文档
最新文档