void InitComplex(Complex* c, double real, double imag); //初始化 void DestroyComplex(Complex* c); //销毁复数 double GetReal(Complex c); //获取复数的实部 double GetImag(Complex c); //获取复数的虚部 Complex Add(Complex c1, Complex c2); // + Complex Sub(Complex c1, Complex c2); //...
printf("复数pc1与pc2之和的实部为:%e,虚部为:%e\n", sum.e1, sum.e2);return0; } COMPLEX AssignComplex(doublev1,doublev2) { COMPLEX pc; pc.e1=v1; pc.e2=v2;returnpc; }voidDestroyComplex(COMPLEX pc) {//销毁复数}doubleGetReal(COMPLEX pc) {doublereal =pc.e1;returnreal; }doubleGetIma...
复数定义: ADT Complex //复数定义 a±bi { 数据对象:D = {a, b | a,b为实数} 数据关系:R = {} 基本操作: InitComplex(&C, re, im) 操作结果:构造一个复数C,其实部和虚部分别为re和im DestroyCmoplex(&C) 操作结果:销毁复数C Get(C, k, &e) 初始条件:复数C已存在 操作结果:用e返回复数C...
数据结构习题集答案(C语言版严蔚敏) (1)
你没有办法直接修改函数参数,需要传指针进去,你的用法是:call by value 如果你需要修改函数参数的内容...
数据对象:d={r,i|r,i为实数}数据关系:r={r,i}基本操作:initcomplex(c,re,im)操作结果:构造一个复数c,其实部和虚部分别为re和im destroycmoplex(c)操作结果:销毁复数c get(c,k,e)操作结果:用e返回复数c的第k元的值操作结果:改变复数c的第k元的值为e操作结果:如果复数c的两个元素按升序排列,则返回...
操作结果:构造复数Z,其实部和虚部 别被赋以参数vl和v2的值。 DestroyComplex(&Z) 操作结果:复数Z被销毁。 GetReal(Z,&realPart) 初始条件:复数已存在。 操作结果:川realPart返回复数Z的实部值。 Getlmag(乙&lmagPart) 初始条件:复数已存在。 操作结果:用ImagPart返冋复数Z的虚部值。 Add(zl,z2,&sum) ...
操作结果:销毁复数C Get(C,k,&e) 操作结果:用e返回复数C的第k元的值 Put(&C,k,e) 操作结果:改变复数C的第k元的值为e IsAscending© 操作结果:如果复数C的两个元素按升序排列,则返回1,否则返回0 IsDescending© 操作结果:如果复数C的两个元素按降序排列,则返回1,否则返回0 Max(C,&e) 操作结果:...
(&C, re, im) 操作结果: 构造一个复数 C, 其实部和虚部分别为 re 和 im DestroyCmoplex(&C) 操作结果: 销毁复数 C Get(C, k, &e) 操作结果: 用 e 返回复数 C 的第 k 元的值 Put(&C, k, e) 操作结果: 改变复数 C 的第 k 元的值为 e IsAscending(C) 操作结果: 如果复数 C 的两个...
答: ADT Complex{ 数据对象:D= {r,i|r,i为实数} 数据关系:R= {r,i} 基本操作: Ini Complex(C,re,im) 操作结果:构造一个复数C ,其实部和虚部分别为re和im Des royComplex(C) 操作结果:销毁复数C Ge (C,k,e) 操作结果:用e返回复数C 的第k元的值 Pu (C,k,e) 操作结果:改变复数C 的第k...