首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.epp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整
打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.epp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整
admin
2020-04-10
33
问题
打开考生文件夹下的解决方案文件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://kaotiyun.com/show/Wu8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:usingnamespacestd;templateTAdd(Tvl,Tv2){retumvl+v2;)intmain(){cout
已知将运算符“+”和“*”作为类Complex的成员函数重载,设c1和c2是类Complex的对象,则表达式cl+c2*c1等价于
已知函数print()没有返回值,如果在类中将之声明为常成员函数,正确的是
在关系数据库中,用来表示实体间联系的是
C++本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类,它包括类iostream和()。
下列代码段声明了3个类:classPerson();classStudent:publicPerson{};classUndergraduate:Student{};下列关于这些类之间关系的描述中,错误的是()。
下面不是C++语言整型常量的是()。
下列语句的输出结果cout<<strlen("\t\"\065\xff\n");
A、 B、 C、 D、 A线性表的链式存储结构中的结点空间是动态生成的,它们在内存中的地址可能是连续的,也可能是不连续的。
将E-R图转换到关系模式时,实体与联系都可以表示成()。
随机试题
背景某酒店工程,建筑面积28700m2,地下1层,地上15层,现浇钢筋混凝土框架结构。建设单位依法进行招标,投标报价执行《建设工程工程量清单计价规范》GB50500—2013。共有甲、乙、丙等8家单位参加了工程投标。经过公开开标、评标,最后确定甲施工
求过点A(3,1,-2)及直线的平面方程.
领导行为的连续统一体理论所包含的领导方式有()。
市场试验法一般用在广告效果调查的()。
教育部印发的《中小学班主任工作规定》是为了进一步推进未成年人(),加强中小学班主任工作,充分发挥班主任在教育学生中的重要作用。
实行国家赔偿制度的重要意义在于()。
康藏高寒地区海拔通常在三四千米以上,当地藏民有喝酥油茶的习惯,但该地茶叶极度稀缺;而在内地,民间生活和战争所需的大量骡马,同样_______________。因此,具有互补性的“茶马互市”应运而生。填入画横线部分最恰当的一项是:
ForthepeoplewhohavenevertraveledacrosstheAtlanticvoyageisafantasy.Butforthepeoplewhocrossitfrequentlyonec
______isthekeyconceptioninChristianityinwhichthethreeaspectsofthesameGodareunitedasone.
Asinglestatusmayhavemultiplerolesattachedtoit,constitutingaroleset.Considerthestatusofapatientinahospital.
最新回复
(
0
)