c++程序设计上机考试复习题及答案(优化版)
- 格式:doc
- 大小:145.50 KB
- 文档页数:9
C++程序设计上机考试复习题及答案(优化
版)
work Information Technology Company.2020YEAR
C++程序设计上机试题
考试时间:180分钟
(注:以下所有题目均要求上机实现)
第一题 ( 20分)
声明数组如下,按要求编写程序,以f1.cpp作为文件名,存放到D盘: double a[]={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
#include
using namespace std;
void main()
{
double a[]={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); cout<<"no value 4.4"; else cout<<"have value is "<<*x; cout< } 第二题(20分) 定义队列类模板queue(先进先出),队列的大小由使用者确定。要求该类模板对外提供如下二种基本操作:(1)insert(入队列)(2)front(出队列),用数组来实现 #include < iostream > using namespace std; template < class T, int size > class queue { T x [ size ] ; int current, front, rear; public : queue ( ) { current = 0 ; front = 0 ; rear = 0 ;} . . . .insert(. . . .); . . . .front(. . . .); }; template bool Queue::insert ( Queue &Q, T a ) //入队列 { if (front ==0&&rear== current -1) return false; int i; i=rear+1; Q.x[i] = a; return true; } //--------------出队 template bool Queue::front( Queue &Q) { if (current==0) // 检测队列是否为空 return false; int i; { Q.x[i]= Q.x[i+1] ; } return true; } 第三题(20分) 设计一个Bank类,实现银行某账号的资金往来账目管理,包括建账号、存入、取出等。Bank类包括私有数据成员top(当前账指针),date(日期),money(金额),rest(余额)和sum(累计余额)。有三个成员函数bankin()(处理存入账),bankout()处理取出账)和disp()(输出明细账)请完成函数的实现。 本题部分程序如下: #include #include #define Max 100 class Bank { int top; char date[Max][10];//日期 int money[Max];//金额 int rest[Max];//余额 static int sum;//累计余额 public: Bank(){top=0;} void bankin(char d[ ],int m){…} void bankout(char d[ ],int m){…} void disp(){…}; } ; #include #include #include #define Max 100 Using namespace std;