1.执行 cout << 5/3; 语句后,输出的结果是( )。
A、0
B、1
C、2
D、3
2.执行以下代码,输出的结果是( )
char a[6]=('a','b','c','d');
cout< <sizeof(a);
A、4
B、6
C、8
D、12
3.关于C++中的一维数组,以下描述正确的是( )。
A、数组中的元素类型可以不相同
B、数组在内存中有一段连续的单元
C、数组中的最后一个元素的下标 (索引) 为 -1
D、静态数组中的元素的个数可以大于数组初始时设定的长度
4.以下关于 while 和 do...while 循环语句描述不正确的是( )。
A、do...while 的循环条件可以是 1
B、while 的循环体可以是复合语句
C、do...while 的循环体至少执行一次
D、执行 do...while 语句,首先判断循环条件,当满足循环条件,开始执行循环体中的语句
5.已知: int a,b = 5,*p = &a ,下列表达式哪一个可以将 b 赋值给 a ? ( )
A、*p =*&b;
B、a=*p;
C、a = &b;
D、a=**p;
二.编程题
编程题一
切割蛋糕
[题目描述]
有一块矩形蛋糕,小明从蛋糕的正上方横向和纵向各切 N 刀 (1<N<100)每刀互不重合。计算出蛋糕被切割成了几块。例如: N = 2,蛋糕被切割成 9 块。
[输入格式]
输入一个正整数 N (1 < N < 100) ,表示蛋糕被横向和纵向各切割的刀数
[输出格式]
输出一个整数,表示蛋糕最后被切割成了几块
[输入样例1]
2
[输出样例1]
9
编程题二
拼写单词
[题目描述]
四种水果的英文单词,分别为 Apple、Banana、Orange、Pear。老师通过提示每个单词的首字母,让同学将对应的单词拼写下来
请编写程序:
当输入的大写字母为A”时,则输出“Apple”
当输入的大写字母为B”时,则输出“Banana",
当输入的大写字母为“O”时,则输出“Orange"
当输入的大写字母为“p”时,则输出“Pear"
[输入格式]
输入 A、B、0、P 中任意一个大写字母
[输出格式]
输出一个字符串,表示大写字母对应的英文单词 (单词首字母大写)
[输入样例1]
A
[输出样例1]
Apple
编程三
业务办理时间
[题目描述]某服务大厅同时开放3个窗口为客户办理业务,窗口编号分别为1、2、3.现有N (2<=N<=50) 位客户需要办理业务,客户编号为1~N,作为办理业务的先后顺序。
起初三个窗口为空闲状态,空闲的窗口会按照客户编号顺序呼叫下一位客户。如果多个窗口同时为空闲状态,按照窗口编号顺序呼叫 (1优先于2,2优先于3)现给出每位客户办理业务的时间 (单位: 分钟) ,请计算出N位客户全部办理完业务后,哪一个窗口合计办理业务的时间最短,并输出最短时间。例如: N=7,7位客户编号分别为1、2、3、4、5、6、7,客户办理业务时间分别为3、5、2、4、7、1、6,(如下图) :
初始客户编号为 1、2、3 的客户分别在 1、2、3 窗口同时办理业务;窗口 3 用时 2 分钟办理完 3 号客户的业务,变为空闲状态,并按顺序呼叫 4 号
客户,4 号客户用时 4 分钟窗口 1 用时 3 分钟办理完 1 号客户的业务,变为空闲状态,并按顺序呼叫 5 号客户,5 号客户用时 7 分钟。
窗口 2 用时 5 分钟办理完 2 号客户的业务,变为空闲状态,并按顺序呼叫 6 号客户,6 号客户用时 1 分钟。
6 分钟后,窗口 2 和 3 同时变为空闲状态,按顺序窗口 2 呼叫 7 号客户,7 号客户用时 6分钟。
全部客户办理完业务后,三个窗口总用时分别为 10分钟、12分钟、6分钟,用时最短的是窗口 3,最短时间为 6 分钟。
[输入格式]第一行输入一个正整数 N (2 <= N <= 50),表示办理业务的客户数。第二行输入 N 个正整数 (1 <= 正整数 <= 50) ,依次表示每位客户办理业务的时间,正整数之间以一个空格隔开。
[输出格式]
输出一个整数,表示客户全部办理完业务,用时最短的窗口所用时间。
[输入样例1]
7
3 5 2 4 7 1 6
[输出样例1]
6
编程四
找路线
[题目描述]
现有 22 名小朋友,依次编号 1 到 22,22 名小朋友分别按照下图的位置站好
每名小朋友只能按照图中箭头指向的方向移动。给出两名小朋友的编号 N 和 M(1 <= N < M <= 22) ,请你找出从编号 N 到编号 M 共有多少条不同的路线例如: N = 3,M = 7,从编号 3 的位置到编号 7 的位置共有 5 条路线,分别为: (3->5->7), (3->5->6->7),(3->4->5->7), (3->4->5->6->7), (3->4>6->7)。
[输入格式]
输入两个正整数 N 和 M (1 <= N < M <= 22) ,分别表示两名小朋友的编号之间以一个空格隔开。
[输出格式]
输出一个整数,表示从编号 N 到编号 M 共有多少条不同的路线。
[输入样例1]
3 7
[输出样例1]
5
编程五
最大乘积
[题目描述]
小明有N (4<=N<=60) 个玻璃球,他想将N个玻璃球拆分成若干份 (份数>=2,且每份中的数量互不相等),从而使拆分后的每份玻璃球数量的乘积最大。请你编写程序帮助小明计算出最大乘积是多少
例如: N = 5,5个玻璃球有2种符合条件的拆分方法: (4,1) 、 (3,2)
其中,能得到最大乘积的拆分方法为 (3,2) ,最大乘积为6 (6=3*2)
[输入格式]
输入一个正整数N (4≤N≤60) ,表示玻璃球的总数量
[输出格式]
输出一个整数,表示最大乘积
[输入样例1]
5
[输出样例1]
6