上海交大自学考试 C++上机考试题1105.docx
- 文档编号:8939022
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:8
- 大小:24.12KB
上海交大自学考试 C++上机考试题1105.docx
《上海交大自学考试 C++上机考试题1105.docx》由会员分享,可在线阅读,更多相关《上海交大自学考试 C++上机考试题1105.docx(8页珍藏版)》请在冰点文库上搜索。
上海交大自学考试C++上机考试题1105
PS:
本次上机考共计2大题,均是程序书写操作题;培训的时候亦是俩大题,做熟了之后基本上都能通过考试;
第一部分:
对整本书跟实验有关的概念进行了整理;
对数组的操作(泛型算法):
输出数组、对数组进行升幂排序、反转数组的内容、复制数组等的操作需包含头文件
对数组进行降幂排序和检索,需包含头文件
假设一维数组a、b的长度为len,数组类型为type。
1、数组内容反转
reverse(a,a+len);//数组元素反转排列
2、复制数组的内容
copy(a,a+len,b);//将数组a的内容原样复制到数组b
reverse_copy(a,a+len,b);//将数组a的内容以逆向方式复制到数组b
3、数组升幂排序
sort(a,a+len);//默认排序方式是升幂排序
4、数组降幂排序
sort(b,b+len,greater
5、查找数组内容
find(a,a+len,value);//查找数组a内是否存在值为value的元素
这个函数返回的是位置指针,可以使用以下判断语句输出查找的内容
type*x=find(a,a+len,value);
if(x==a+len)cout<<“没有value”;
elsecout<<“有值为value的数组元素”;
6、输出数组的内容
copy(a,a+len,ostream_iterator
reverse_copy(a,a+len,ostream_iterator
字符串:
可以是空格或换行符\n
第二部分:
交大老师进行培训所有试题,具体编程算法附题后;
一(第一题)、声明数组如下,按要求编写程序,以f1.cpp作为文件名存放到F盘上:
doublea[]={1.1,5.2,7.3,4.4},b[4];
要求:
1、将数组a内容反转,并正向(或逆向)输出数组a的内容;
2、将数组a复制(或逆向复制)给数组b;并输出数组b的内容;
3、将数组b按升幂(或降幂)排序,并输出数组b的内容;
4、在数组a中查找4.4的位置,并输出。
#include
#include
#include
usingnamespacestd;
voidmain(){
doublea[]={1.1,5.2,7.3,4.4},b[4];
reverse(a,a+4);
copy(a,a+4,ostream_iterator
cout< reverse_copy(a,a+4,ostream_iterator cout< copy(a,a+4,b); copy(b,b+4,ostream_iterator cout< reverse_copy(a,a+4,b); copy(b,b+4,ostream_iterator cout< sort(a,a+4); copy(a,a+4,ostream_iterator cout< sort(a,a+4,greater copy(a,a+4,ostream_iterator cout< double*x=find(a,a+4,4.4); if(x==a+4)cout<<"novalue4.4"; elsecout<<"havevalueis"<<*x; cout< } 二(第一题)、 编程、调试、运行程序: 一、有类A,B1,B2,B3和C,它们各有私有整型数据成员x,并分别有构造函数和公有成员函数: showA(),showB1(),showB2(),showB3(),showC(),它们的功能是显示各自类自已定义的数据成员的值。 对上述类,现有如下继承结构图,假设都是公有继承: B1 B2 B3 C 现有main()程序和执行结果如下,请根据上述要求和执行结果完成上述各类的定义。 程序编写完成后,请以f2.cpp作为文件名存放到F盘上。 voidmain() {Cc1(11,22,33,44,55); c1.showC(); } /*执行结果为: B1: x的值=22 B2: x的值=33 B3: x的值=44 C: x的值=55*/ 答案: #include usingnamespacestd; classA{ intx; public: A(){x=0;} A(inta){x=a;} voidshowA(){cout<<"A: x的值="< }; classB1: virtualpublicA { intx; public: B1(inta,intb1): A(a){x=b1;} voidshowB1(){cout<<"B1: x的值="< }; classB2: virtualpublicA { intx; public: B2(inta,intb2): A(a){x=b2;} voidshowB2(){cout<<"B2: x的值="< }; classB3: virtualpublicA { intx; public: B3(inta,intb3): A(a){x=b3;} voidshowB3(){cout<<"B3: x的值="< }; classC: publicB1,publicB2,publicB3 { intx; public: C(inta,intb1,intb2,intb3,intc): B1(a,b1),B2(a,b2),B3(a,b3){x=c;} voidshowC(){showB1();showB2();showB3();cout<<"C: x的值="< }; voidmain() {Cc1(11,22,33,44,55); c1.showC(); } #include usingnamespacestd; classA{ intx; public: A(){x=0;} A(inta){x=a;} voidshowA(){cout<<"A: x的值="< }; classB1: virtualpublicA { intx; public: B1(inta,intb1): A(a){x=b1;} voidshowB1(){cout<<"B1: x的值="< }; classB2: virtualpublicA { intx; public: B2(inta,intb2): A(a){x=b2;} voidshowB2(){cout<<"B2: x的值="< }; classB3: virtualpublicA { intx; public: B3(inta,intb3): A(a){x=b3;} voidshowB3(){cout<<"B3: x的值="< }; classC: publicB1,publicB2,publicB3 { intx; public: C(inta,intb1,intb2,intb3,intc): B1(a,b1),B2(a,b2),B3(a,b3){x=c;} voidshowC(){showB1();showB2();showB3();cout<<"C: x的值="< }; voidmain() {Cc1(11,22,33,44,55); c1.showC(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海交大自学考试 C+上机考试题 1105 上海交大 自学考试 C+ 上机 考试题