教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 行业范文 >

09秋全国C++上机题目15套(题目+答案)

来源:网络收集 时间:2026-09-06
导读: C++二级必备 第01套 1.请使用“答题”菜单或使用VC6打开考生文件夹proj1下的工程proj1。此工 程包含程序文件main.cpp,其中有类TVSet(电视机)和主函数main的定义。程序中位于每个//ERROR*********found*********下的语句行有错误,请加以更正。更正后程序的

C++二级必备

第01套

1.请使用“答题”菜单或使用VC6打开考生文件夹proj1下的工程proj1。此工 程包含程序文件main.cpp,其中有类TVSet("电视机")和主函数main的定义。程序中位于每个//ERROR*********found*********下的语句行有错误,请加以更正。更正后程序的输出应该是:

规格:29英寸,电源:开,频道:5,音量:18

规格:29英寸,电源:关,频道:-1,音量:-1

注意:只能修改每个//ERROR*********found*********下的那一行,不要 改动程序中的其他内容。

2.请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2,该 工程含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。

Stack是一个用于表示数据结构"栈"的类,栈中的元素是字符型数据。Stack 为抽象类,它只定义了栈的用户接口,如下所示:

公有成员函数 功能

push入栈: 在栈顶位置添加一个元素

pop退栈: 取出并返回栈顶元素

ArrayStack是Stack的派生类,它实现了Stack定义的接口。ArrayStack内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize表示栈的最大容量,top记录栈顶的位置。成员函数push和pop分别实现具体的入栈和退栈操作。

请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此 程序的正确输出结果应为:

a,b,c

c,b,a

注意:只需在指定位置编写适当代码,不要改动程序中的其他内容,也不能 删除或移动"//********found********"。

3.请使用“答题”菜单或使用VC6打开考生文件夹proj3下的工程proj3,其 中包含了类Integers和主函数main的定义。一个Integers对象就是一个整数的集合,其中包含0个或多个可重复的整数。成员函数add将一个元素添加到集合中,成员函数remove从集合中删除指定的元素(如果集合中存在该元素),成员函数sort将集合中的整数按由小到大的次序进行排序。请编写这个sort函数。此程序的正确输出结果应为:

5 28 2 4 5 3 2 75 27 66 31

5 28 2 4 5 3 2 75 27 66 31 6

5 28 2 4 5 3 2 75 27 66 31 6 19

5 28 2 4 5 3 75 27 66 31 6 19

5 28 2 4 5 3 75 27 66 31 6 19 4

2 3 4 4 5 5 6 19 27 28 31 66 75

C++二级必备

要求:

补充编制的内容写在//********333********与//********666********两行之间。不得修改程序的其他部分。

注意:

相关文件包括:main.cpp、Integers.h。

程序最后已经调用writeToFile函数,使用另一组不同的测试数据,将不同 的运行结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件。

第01套 答案

一、基本操作题

(1)TVSet(int size): size(size){

(2)void turnOnOff()

(3)cout<<"规格:"<<getSize()<<"英寸"

二、简单应用题

(1)new char[maxSize]

(2)delete[]p

(3)p[top]=c

(4)return p[top]

三、综合应用题

//********333********

int i, j, p, t;

for(i=0; i<counter-1; i++)

{

p=i;

for(j=i+1; j<counter; j++)

if(elem[j]<elem[p])

p=j;

if(p!=i)

t=elem[i], elem[i]=elem[p], elem[p]=t;

}

//********666********

第02套

1.请使用“答题”菜单或使用VC6打开考生文件夹proj1下的工程proj1。此工程包含程序文件main.cpp,其中有类TVSet("电视机")和主函数main的定义。程序中位于每个//ERROR*********found*********下的语句行有错误,请加以更正。更正后程序的输出应该是:

规格:29英寸,电源:开,频道:5,音量:18

规格:29英寸,电源:关,频道:-1,音量:-1

C++二级必备

注意:只能修改每个//ERROR*********found*********下的那一行,不要 改动程序中的其他内容。

2.请使用“答题”菜单或使用VC6打开考生文件夹proj2下的工程proj2。此工程包含有一个源程序文件main.cpp,其中有类Quadratic、类Root以及主函数main的定义。一个Quadratic对象表示一个ax2+bx+c的一元二次多项式。一个Root对

2象用于表示方程ax+bx+c=0的一组根,它的数据成员num_of_roots有三种可能

的值:0、1和2,分别表示根的三种情况:无实根、有两个相同的实根和有两个不同的实根。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述类定义。此程序的正确输出结果应为(注:输出中的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**********"。

3.请使用“答题”菜单或使用VC6打开考生文件夹proj3下的工程proj3,其中包含了日期类Date、人员类Person以及排序函数sortByAge和主函数main的定义。其中Person的成员函数compareAge的功能是:将当前Person对象和参数Person对象进行比较,若前者的年龄大于后者的年龄,返回一个正数;若前者的年龄小于后者的年龄,返回一个负数;若年龄相同返回0。注意,出生日期越大,年龄越小。请编写成员函数compareAge。在main函数中给出了一组测试数据,此时程序的正确输出结果应为:

按年龄排序

排序前:

张三 男 出生日期:1978年4月20日

王五 女 出生日期:1965年9月3日

杨六 女 出生日期:1965年9月5日

李四 男 出生日期:1973年5月30日

排序后:

张三 男 出生日期:1978年4月20日

李四 男 出生日期:1973年5月30日

杨六 女 出生日期:1965年9月5日

王五 女 出生日期:1965年9月3日

要求:

补充编制的内容写在//********333********与//********666********两行之间。不得修改程序的其他部分。

注意:

C++二级必备

程序最后已经将结果输出到文件out.dat中。输出函数WriteToFile已经编译为obj文件,并且在本程序中调用。

第02套 答案

一、基本操作题

(1){volume = 18;}

(2){ channel = chan;

(3)void setVolumeTo(int vol){

二、简单应用题

(1)x1(root1), x2(root2), num_of_roots(2)

(2)num_of_roots

(3)a(x.a),b(x.b),c(x.c)

(4)return Root()

三、综合应用题

//********333********

int n=p.birth_date.getYear()-birth_date.getYear();

if(n!=0) return n;

n=p.birth_date.getMonth()-birth_date.getMonth();

if(n!=0) return n;

return p.birth_date.getDay()-birth_date.getDay();

//********666********

或者:

//* …… 此处隐藏:14179字,全部文档内容请下载后查看。喜欢就下载吧 ……

09秋全国C++上机题目15套(题目+答案).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/987029.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)