打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.cpp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整

admin2020-12-21  19

问题 打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.cpp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。
    程序中位于每个//ERROR******found******下的语句行有错误,请加以改正。
    更正后程序的输出应该是:
    555555的最大约数是:185185
    注意:只能修改每个//ERROR******found*******下的那一行,不要改动程序中的其他内容。
    #include
    #include
    using namespace std;
    class MaxDivisor//最大约数
    {
    public:
    //ERROR*****found*****
    MaxDivisor(int n=1){count=n;}
    void Print()const;
    private:
    eonst int count;
    };
    //ERReR*****found*****
    void Print()const
    {
    int i;
    for(i=count-1;i>1;i--)
    //ERROR*****found*****
    if(count/i==0)
    {
    cout<<count<<“的最大约数是:”<<i<<endl:
    return;
    }
    cout<<count<<“没有约数”<<endl;
    }
    int main()
    {
    MaxDivisor obj(555555);
    obj.Prinl();
    return 0;
    }

选项

答案(1)MaxDivisor(int n=1):count(n){} (2)vold MaxDiDisor::Print()const (3)if(count%i==0)

解析 (1)Maxl)ivisor类定义中,count是const类型的整型变量,只能在成员初始化列表完成初始化,不能在构造函数定义体内赋值,修改为:MaxDivisor(int n=1).count(n)(2)Print函数是MaxDivisor类的成员函数,在函数定义时需要指定在MaxDivisor的命名空间中修改(3)Print成员函数的作用是输出count成员的最大公约数,从count-1开始遍历,逐个判断当前的i是否能整除count,第一个整除的i即为最大公约数,判断整除逻辑是count对i求模,结果为0表示整除,修改为:if(count%i==0)。
转载请注明原文地址:https://jikaoti.com/ti/Ksl0FFFM
0

最新回复(0)