首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.epp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整
打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.epp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整
admin
2020-04-10
58
问题
打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.epp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整除N的数即为N的约数。
程序中位于每个//ERROR ****** found ******
下的语句行有错误,请加以改正。
更正后程序的输出应该是:
555555的最大约数是:185185
注意:只能修改每个//ERROR ******found******下的那一行,不要改动程序中的其他内容。
#include<iostream>
#include<iomanip>
using namespace std;
class MaxDivisor//最大约数
{
public:
//ERROR ****found****
MaxDivisor(int n=1){count=n;}
void Print()const;
private:
const int count;
};
//ERROR *****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请打开考生文件夹下的解决方案文件proj2,该工程中包含一个程序文件main.cpp,其中有类Quadritic、类Root及主函数main的定义。一个Quadritic对象表示一个ax
2
+bx+c的一元二次多项式。一个Root对象用于表示方程ax
2
+bx+c=0的一组根,它的数据成员num_of_roots有3种可能的值,即0、1和2,分别表示根的3种情况:无实根、有两个相同的实根和有两个不同的实根。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为(注:输出中的X~2表示x
2
):
3X~2+4X+5=0.0 无实根
4.5X^2+6X+2=0.0 有两个相同的实根:一0.666667和一0.666667
1.5X^2+2X一3=0.0 有两个不同的实根:0.896805和一2.23014
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#1nclude<lostream>
#include<iomanip>
{}include<cmath>
using namespace std;
class Root{ //一元二次方程的根
public:
const double x1; //第一个根
const double x2; //第二个根
const int num_of_roots;//不同根的数量:0、1或2
//创建一个“无实根”的Root对象
Root():x1(0.0),x2(0.0),num_Of_roots(0){}
//创建一个“有两个相同的实根”的Root对象
Root(double root)
//********** found **********
:__________{}
//创建一个“有两个不同的实根”的Root对象
Root(double root1,double root2):x1(root1),x2(root2),mum_of_roots(2){}
void show()const{ //显示根的信息
cout<<"\t\t";
switch(num_of_roots){
case 0:
//********** found **********
________
case 1:
cout;<<"有两个相同的实根:"<<x1<<"和"<<x2;break;
default:
cout<<"有两个不同的实根:"<<x1<<"和"<<x2;break;
}
}
};
class Quadratic{ //二次多项式
public:
const double a,b,c;//分别表示二次项、一次项和常数项等3个系数
Quadratic(double a,double b,double c)
//构造函数
//**********found*********
:____________{}
Quadratic(Quadratic&x) //复制构造函数
:a(x.a),b(x.b),c(x.c){}
Quadratic add(Quadratic x)const{
//求两个多项式的和
return QuadratiC(a+x.a,b+x.b,c+x.c);
}
Quadratic sub(Quadratic x)const{
//求两个多项式的差
//**********found**********
___________
}
double value(double x)const{
//求二次多项式的值
return a * x * x+b * x+c;
}
Root root()const{//求一元二次方程的根
double delta=b * b一4 * a * c;
//计算判别式
if(delta<0.0)return Root;();
if(delta==0.0)
return Root(一b/(2 * a));
double sq=sqrt(delta);
return Root((一b+sq)/(2*a), (一b—sq)/(2*a));
}
void show()const{ //显示多项式
cout<<endl<<a<<"X^2"<<showpos<<b<<"X"<<C<<noshowpos;
}
void showFunction(){
//显示一元二次方程
show();
cout<<"=0.0";
}
};
int main(){
Quadratic q1(3.0,4.0,5.0),q2(4.5,6.0,2.0),q3(q2.sub(q1));
q1.showFunction();
q1.root().show();
q2.showFunction();
q2.root:().show();
q3.showFunction();
q3.root().show();
cout<<endl:
return 0;
}"没有约数"<<endl;
}
int main()
{
MaxDivisor obj(555555);
obj.Print();
return 0;
}
选项
答案
(1)MaxDivisor(int n=1):count(n){} (2)void MaxDivisor::Print()const (3)if(count%i==0)
解析
(1)MaxDivisor类定义中,count是const类型的整型变量,只能在成员初始化列表中完成初始化,不能在构造函数定义体内赋值,修改为:MaxDivisor(intn=1):count(n){}
(2)Print函数是MaxDivisor类的成员函数,在函数定义时需要指定在MaxDivisor的命名空间中,修改为:void MaxDivisor::Print()const
(3)Print成员函数的作用是输出count成员的最大公约数,从count一1开始遍历,逐个判断当前的i是否能整除count,第一个整除的i即为最大公约数,判断整除逻辑是count对i求模,结果为0表示整除,修改为:if(count%i==0)
转载请注明原文地址:https://www.kaotiyun.com/show/Wu8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classsample{private:intx,y;public:sample(i
要定义一个具有5个元素的一维数组veer,并使其各元素的初值依次是30、50、-88、0和0,则下列定义语句中错误的是
对于int a[3][7]下列表示中错误的是
如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为()。
已知类X成功地重载了--、=、+、和[]这几个运算符,则其中肯定属于成员函数的运算符是()。
在结构化方法中,软件功能分解属于下列软件开发中的阶段是
下列选项中不全是C++语言关键字的是
在计算机软件系统的体系结构中,数据库管理系统位于用户和【】之间。
软件工程三要素包括方法、工具和过程,其中,______支持软件开发的各个环节的控制和管理。
一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数
随机试题
诊断肺心病的主要形态标准是:
胰头癌区别于其他壶腹周围癌的常见特点是
尿中可以把糖测定出来时的最低血糖浓度为
A、百合固金丸B、止咳平喘糖浆C、咳喘宁糖浆D、固本咳喘片E、蛤蚧定喘胶囊可用于肺肾两虚,阴虚肺热所致的虚劳久咳,年老咳喘的非处方中成药的是
帧中继业务将不同长度的用户数据封装在一个较大的帧内,加上寻址和校验信息,其传输速度可达()。
以下关于个人贷款业务的说法中,错误的是()
每股股利它可以反映公司的盈利能力的大小,每股股利越低,说明公司的盈利能力越弱。()
根据《宪法》与《国有土地上房屋征收与补偿条例》,可以作为征收理由的“公共利益”有()。
Chooseoneappropriatewordfromthefollowingwordbanktofillintheblanknumberedfrom91to105inthepassagebelow.Chan
DearSir,IwillgraduatefromShanghaiUniversityofInternationalBusinessandEconomicsthisyear.Asastudentmajoring
最新回复
(
0
)