辣条星星 2022-03-28 23:17 采纳率: 100%
浏览 45
已结题

复数相减虚部为负数怎么办,求解啊

#include

#include

using namespace std;

class Complex{

public:

Complex(double r=0,double i=0);

Complex operator +(const Complex& c);

Complex operator -(const Complex& c);

void print() const;

private:

double real,imag;

};

Complex::Complex(double r , double i){

real=r;

imag=i;

}

Complex Complex::operator +(const Complex& c){

double r=real+c.real;

double i=imag+c.imag;

return Complex(r,i);

}

Complex Complex::operator -(const Complex& c){

double r=real-c.real;

double i=imag-c.imag;

return Complex(r,i);

}

void Complex::print() const{
cout<<real<<'+'<<imag<<'i'<<endl;
}
int main()
{
double r, i;
cin >> r >> i;
Complex c(r, i);
cin >> r >> i;
Complex n(r, i);
Complex c1=c+n;
Complex c2=c-n;
c1.print();
c2.print();
return 0;
}

img

  • 写回答

1条回答 默认 最新

  • _GX_ 2022-03-29 05:40
    关注
    #include <iomanip>
    
    // ...
    
    void Complex::print() const
    {
        const double eps = 1e-6;
        if (abs(imag) < eps)
        {
            cout << noshowpos << real;
        }
        else
        {
            if (abs(real) < eps)
                cout << noshowpos << imag << 'i';
            else
                cout << noshowpos << real << showpos << imag << 'i';
        }
        cout << '\n';
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月6日
  • 已采纳回答 3月29日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画