盘子数为4的汉诺塔问题需要移动盘子的次数为 ()
A.7
B.8
C.15
D.16
第1题:
六个盘子中各放有一块糖,每次从任选的两个盘子中各取一块放入另一个盘子中,这样至少要做多少次,才能把所有的糖都集中到一个盘子中?( )
A.3次
B.4次
C.5次
D.6次
第2题:
阅读以下说明,回答问题1至问题3,将答案填入答题纸对应栏内。
【说明】
在某嵌入式处理器上,编写以下两段秸序(编译选项中,存储采用4字节对齐方式)。
程序段1:
struct studentl {
char name [10] ;
long sno;
char sex;
float score [4] ;
*pl, al, bl;
程序段2:
union student2 {
char name [10] ;
long sno;
char sex,
float score [4] ;
*p2, a2, b2;
汉诺塔问题说明:有n个盘子在A处,盘子从小到大,最上面的盘予最小,程序要
把这n个盘子从A处搬到C处,可以在E处暂存,但任何时候都不能出现大的盘子压
在小的盘子上面的情况。
下列是一段求解汉诺塔问题的C语言程序。
include <stdio . h>
void move (int n, char a, char c)
{
static int Step=l;
printf ("Step %2d: Disk %d %c..--> %c\n", Step, n, a, c) ;
Step++;
}
void Hanoi (int n, char a, char b, cnar c)
{
if (n>l)
{
Hanoi (n-l, a, c, b) ;
move (n, a. c) ;
Hanoi (n-l, b, a, c) ;
}
else move (n,a,c);
}
void main()
{
Hanoi(3, ’A’, 、B’, 、C ’);
}
【问题1】(3分)
C语言函数的一般格式为:
<函数类型> <函数名> (<参数列表>)
{
<函数体>;
}
简答下述问题,将答案填写在答题纸中对应栏目。
(l)<函数类型>的含义是什么?
(2)<参数列表>的含义是什么?
(3)C语言函数之间的参数如何传递?
【问题2] (6分)
回答问题,将答案填写在答题纸中对应栏目。
(1)sizeof(struct studentl)结果是多少
(2) sizeof(union student2)结果是多少
(3)变量a2在程序段2中定义,写出执亍以下语句后的输出结果。
strcpy (a2. name,¨zhangwei¨);
a2.sex=’f’;
printf ("%s¨, a2 .name);
【问题3](6分)
仔细阅读求解汉诺塔问题的C语言程序,完成其中(1)~(4)空白填空,将答案
填入答题纸的对应栏内。
运行结果为:
Step1:Disk l A---->C
Step 2: (l)
Step 3: Disk I C---->B
Step4: (2)
Step 5: (3)
Step 6: Disk 2 B---->C
Step 7: (4)
第3题:
甜点装盘时,所有的主料、配料及饰品不得露在()。
第4题:
西餐吃毕时,刀叉()放在盘子上,叉子向()、刀刃向();未用完时,刀子分开摆在盘子上左右两边。
第5题:
用西餐完毕时刀叉摆放方法应该是()。
第6题:
盘子数量是4的汉诺塔问题,需要移动的步数是()
第7题:
甜点装盘时,下列说法正确的是()。
第8题:
句子“我吃饱了。”中的补语“饱”从语义上指向()。
第9题:
将刀、叉呈“八”字形搭在盘子两侧,表明已经吃完,暗示服务员可以收走盘子。
第10题:
“八”字形分别放在盘子上
平行放在盘子上
交叉放在盘子上
第11题:
15
16
17
18
第12题:
施事“我”
动词“吃”
名词“盘子”
受事“盘子里的菜”
第13题:
六个盘子中各放有一块糖,每次从任选的两个盘子中各取一块放入另一个盘子中,这样至少要做多少次,才能把所有的糖都集中到一个盘子中?
A.3
B.4
C.5
D.6
第14题:
第15题:
中途放下刀叉,应将刀叉()。
第16题:
汉诺塔问题是古老的问题,不可以使用递归解决,最初是原型是印度的僧人移动盘子的故事。
第17题:
数据结构里,汉诺塔问题,是递归解决的问题,需要()来帮助算法实现。
第18题:
甜点装盘时,下列说法错误的是()。
第19题:
服务员上菜时要注意,如果是满桌可以盘子叠盘子,不可大盘换小盘。()
第20题:
句子“我吃光了盘子里的菜。”中的补语“光”从语义上指向()。
第21题:
对
错
第22题:
栈
图
二叉树
队列
第23题:
28个盘子、36双筷子和6瓶啤酒
24个盘子、9双筷子和7瓶啤酒
28个盘子、42双筷子和6瓶啤酒
24个盘子、9双筷子和7瓶啤酒
第24题: