题解 | #复数#

复数

https://www.nowcoder.com/practice/743667f48c4d49a59b7b0613b8aa1c11

#include <iostream>
using namespace std;

class ComplexNumber {
    friend ostream& operator<<(ostream&, ComplexNumber&);
  public:
    int RealPart, ImaginaryPart;
    ComplexNumber(int r, int i) : RealPart(r), ImaginaryPart(i) {}
    ComplexNumber operator+(const ComplexNumber& num) {
        int r = RealPart + num.RealPart;
        int i = ImaginaryPart + num.ImaginaryPart;
        return ComplexNumber(r, i);
    }
};

ostream& operator<<(ostream& out, ComplexNumber& num) {
    out << num.RealPart;
    if(num.ImaginaryPart >= 0) out << "+";
    out << num.ImaginaryPart << "i";
    return out;
}

int main() {
    int n, r1, r2, i1, i2;
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> r1 >> i1;
        cin >> r2 >> i2;

        ComplexNumber num1(r1, i1), num2(r2, i2);
        ComplexNumber sum = num1 + num2;
        cout << sum << endl;
    }
}

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务