程序设计与算法(三)第02周测验003:超简单的复数类

程序设计与算法(三)第02周测验003:超简单的复数类

本文是中国大学MOOC,北京大学程序设计与算法(三)C++面向对象程序设计第二周测验。

  • 总时间限制:

    1000ms

  • 内存限制:

    65536kB

  • 描述

    下面程序的输出是:3+4i 5+6i请补足Complex类的成员函数。不能加成员变量。

    #include <iostream>
    #include <cstring>
    #include <cstdlib>
    using namespace std;
    class Complex {
    private:
        double r,i;
    public:
        void Print() {
            cout << r << "+" << i << "i" << endl;
        }
    // 在此处补充你的代码
    };
    int main() {
        Complex a;
        a = "3+4i"; a.Print();
        a = "5+6i"; a.Print();
        return 0;
    }
    
  • 输入

  • 输出

    3+4i 5+6i

  • 样例输入

  • 样例输出

    3+4i 5+6i

结合

    void Print() {
        cout << r << "+" << i << "i" << endl;
    }
    a = "3+4i"; a.Print();
    a = "5+6i"; a.Print();

我们知道我们要写一个函数将3+4i的实部与虚部拆分为ri并输出。

将字符串转换为ri,我们知道这个函数是类型转换构造函数

所以我们可以写成这样:

    Complex(){}	//有定义Complex a,所以必须写个无参构造函数
    Complex(char x[])
    {
        r=x[0]-'0';
        i=x[2]-'0';
    }

不要复杂化问题,题目输入只是3+4i5+6i,不要整出substr的幺蛾子

提交,通过,记得下载通过码

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章