首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.epp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整
打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.epp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整
admin
2020-04-10
27
问题
打开考生文件夹下的解决方案文件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://jikaoti.com/ti/IwA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如下程序执行后的输出结果是【】。#include<iostream>usingnamespacestd;classBase{public:Base(intx,inty)
在C++语言中,一个函数的定义前加上关键字【】时,该函数就声明为内联函数。
有以下程序:#include<iostream>usingnamespacestd;classPoint’{public:voidSetPoint(intx,inty);
若有定义语句“intx=10;”,则表达式“x
有如下程序:#include#includeusingnamespacestd;classMyString{public:charstr[80];MyString(constchar
下面属于黑盒测试方法的是
语句ofstreamf("SALARY.DAT",ios∷app|ios∷binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且
数据的逻辑结构在计算机存储空间中的存放形式称为数据的【】。
下列选项中,正确的C++标识符是()。
下列数据结构中,能够按照“先进后出”原则存取数据的是()。
随机试题
可燃气体或蒸气与空气的混合物,若其浓度在爆炸下限以下或爆炸上限以上时便不会着火或爆炸。()
围婚保健包括
对手术室医护人员的手、物品进行定期细菌培养的周期是
企业总体战略是关系企业经营发展全局的战略,大致有()。
甲公司2011年12月31日应收账款余额为200万元,“坏账准备”科目贷方余额为5万元;2012年发生坏账8万元,已核销的坏账又收回2万元。2012年12月31日应收账款余额为120万元(其中未到期应收账款为40万元,估计损失2%:过期1个月应收账款为3
美国社会学家研究犯罪问题时发现,在犯罪率较高的社区内,一些男孩子自幼就模仿犯罪团伙中大男孩子的行为,认为他们勇敢、大胆,是真正的男子汉,视他们为楷模,直至最后堕落成犯罪团伙成员。这类犯罪团伙在该社区内成了许多小男孩子心目中的()。
义务教育的本质特征是()。
关于导体及其导电原理,下列说法错误的是()。
刚刚过去的春节长假,文化消费市场可谓精彩纷呈。从北方逛庙会、看冰灯,到南方逛花市、水乡游;从城市电影票房、演出市场屡创新高,到乡村文化大集、农民春晚渐成风尚,无一不是人们对文化消费旺盛需求的生动写照和最好诠释。对于今天富裕起来的中国人来说,春节已经不仅仅是
A、Walkingaroundtheaudience.B、Smilingwhileexplainingthenotions.C、Tellingsomejokesduringthespeech.D、Sharingsomepe
最新回复
(
0
)