G 改错题—复数运算

2020年1月17日 1528点热度 1人点赞 0条评论

G 改错题—复数运算

时间: 1ms        内存:128M

描述:

定义一个复数类Complex,有两个数据成员real和imag分别表示复数的实部和虚部,都为double类型,
重载运算符“+”,使之能用于复数的加法运算。
参加运算的两个操作数可以都是复数类对象,也可以其中有一个是double另一个是复数类对象,
顺序任意。例如:c1 + c2,i + c1,c1 + i均合法(设i为double类型,c1,c2为复数)。

下面的程序中,在begin到end部分存在几处语法错误。请改正错误,使程序按下面输入输出的规定运行。
注意:只提交修改过的begin到end部分的代码。

#include <stdio.h>
#include <iostream.h>

//对begin到end之间部分的代码进行修改,只提交begin到end部分的代码
//******************** begin ********************

class Complex
{
  public:
   
      Complex(double r,double i); //构造函数
      void display(); //复数的输出
      Complex operator +(Complex c1,Complex c2);
      Complex operator +(double i);

  private:
      double real;
      double imag;
};

Complex operator +(Complex c1,Complex c2)
{
    Complex c;
    c.real = c1.real + c2.real;
    c.imag = c1.imag + c2.imag;
    return c;
}

Complex::Complex(double r,double i)
{
  real=r;
  imag=i;
}

void Complex::display()
{
    cout << "(" << real << "," << imag << "i)" <<endl;

Complex   Complex::operator +(double i)
{
    Complex c;
    c.real = real + i;
    c.imag = imag ;
    return c;

}

//********************* end ********************

   int main()
{
   double r1,  i1,  r2,  i2 ;
   cin>>r1>>i1; 
   cin>>r2>>i2; 

   Complex c1(r1,i1);
   Complex c2(r2,i2);
  
    Complex c3;
    c3=c1+c2;
    c3.display();

    c3= c1 + 3.3;
    c3.display();

    c3=3.3+c1;
    c3.display();

    return 0;
}

输入:

第一个复数的实部和虚部

第二个复数的实部和虚部

输出:

两个复数相加运算结果,复数和整数相加运算结果,整数和复数相加运算结果

示例输入:

3 4
5 -10

示例输出:

(8,-6i)
(6.3,4i)
(6.3,4i)

提示:

参考答案:

解锁文章

没有看到答案?微信扫描二维码可免费解锁文章

微信扫描二维码解锁

使用微信扫描二维码打开广告页面后可以立即关闭,再刷新此页面即可正常浏览此文章

所跳转广告均由第三方提供,并不代表本站观点!

已经扫描此二维码?点此立即跳转

code

这个人很懒,什么都没留下

文章评论