首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.epp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整
打开考生文件夹下的解决方案文件proj1,此项目包含程序文件main.epp,其中有类MaxDivisor(“最大约数”)的定义和主函数main的定义。类MaxDivisor能够计算一个整数的最大约数,其中约数是指:对于一个整数N,除去1和它自身外,凡能整
admin
2020-04-10
60
问题
打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
程序设计语言的工程特性之一为()。
以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。#include<string>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)
有如下类定义:classPoint{private:staticinthow_many;};______how_many=0;要初始化Point类的静态成员how_many,在下画线处应填入的内容是
下列关于类成员对象构造函数调用顺序的叙述中,正确的是
以下叙述中正确的是()。
结构化程序设计方法的主要技术是【】、逐步求精。
在数据库管理系统提供的数据功能中,负责数据的完整性、安全性的定义功能的是()。
在深度为5的满二叉树中,叶子结点的个数为
A、ABDEGCFHB、DBGEAFHCC、DGEBHFCAD、ABCDEFGHC二叉树遍历可以分为3种:前序遍历(访问根结点在访问左子树和访问右子树之前)、中序遍历(访问根结点在访问左子树和访问右子树两者之间)、后序遍历(访问根结点在访问左子树和
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。
随机试题
企业专设销售机构发生的各项经费应计入()
指数基金的投资非常分散,可以完全消除投资组合的非系统风险。()
密歇根大学的尤里奇教授在2007年将高绩效人力资源管理者区分为六种角色,其中,受人尊敬且被别人所接受,能够坚持自己的观点和挑战已有假设的角色,称为()。
考评出现宽厚误差的原因有()
所有制的实现形式是指()。
中国特色社会主义生态文明,体现的发展思想是()
根据题目要求,进行作答。证明方程ex+x2n-1=0有唯一的实根xn(n=1,2,…)
若用户在Winmail邮件服务器中的邮箱是user1@mail.abc.com,则下列描述中正确的是
Inourcontemporaryculture,theprospectofcommunicatingwith—orevenlookingat—astrangerisvirtuallyunbearable.Everyone
Noonecouldever______thisgovernmentofnotcaringaboutthepoor.
最新回复
(
0
)