[计算机类试卷]国家二级C++机试(操作题)模拟试卷506及答案与解析.doc
《[计算机类试卷]国家二级C++机试(操作题)模拟试卷506及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(操作题)模拟试卷506及答案与解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(操作题)模拟试卷 506及答案与解析 一、基本操作题 1 请打开考生文件夹下的解决方案文件 proj1,其中在编辑窗口内显示的主程序文件中定义有 Xabe类和主函数 main。在程序文本中位于每行 ”ERROR*found*下面的一行有错误,请加以更正。 更正后程序的输出为: 57 注意:只允许修改每个 ” ERROR*found*下面的一行语句,不允许改动程序中的其他任何内容。 #include iostream using namespace std; class Xabc int*a; int n; public: xabc(int aa , int nn): n(n
2、n) a=new intn; for(int i=0; i n; i+) ERROR*found* aai=ai; int GetA(int i)constreturn ai; int SumA(int n); Xabc( )delete a; ; int Xabc: SumA(int n) int s=0: for(int j=0; j n; j+) s+=aj; return s; int main( ) int a6=2, 5, 8, 3, 6, 9; Xabc x(a, 6); a3=19; int d=0; for(int i=0; i 6; i+) ERROR*found* d+=
3、x ai; ERROR*found* int f=SumA(5); cout d+f endl; return0; 二、 简单应用题 2 请打开考生文件夹下的解决方案文件 proj2,该工程中包含一个程序文件main cpp,其中有类 Quadritic、类 Root及主函数 main的定义。一个 Quadritic对象表示一个 ax2+bx+c的一元二次多项式。一个 Root对象用于表示方程 ax2+bx+c=0的一组根,它的数据成员 num_of_roots有 3种可能的值,即 0、 1和 2,分别表示根的 3种情况:无实根、有两个相同的实根和有两个不同的实根。请在程序中的横线处填写适当的
4、代码并删除横线,以实现上述类定义。此程序的正确输出结果应为(注:输出中的 X 2表示 x2): 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*”。 #include iostream #include iomanip #include cmath using namespace std; class Root一元二次方程的根 pub
5、lic: 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, doubleroot2):x1(root1), x2(root2), mum_of_roots(2) v
6、oid show( )const显示根的信息 cout “ t t“; switch(num_of_roots) case0: *found* case1: 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* : _ Quadrat
7、ic(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 求二次多项式的值 returna*x*x+b*x+c; Root root( )const求一元二次方程的根 double delta=b*b-4*a*c; 计算判别式 if(delta 0
8、 0)return Root ; if(deita=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“ Cnoshowpos; void showFunction( ) 显示一元二次方程 show( ); cout “=0 0“; ; int main( )( Quadratic q1(3 0, 4 0, 5 0), q2(4 5, 6 0,2 0), q3
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 操作 模拟 506 答案 解析 DOC
