网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
10、编写程序解决汉诺塔问题:有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置n个盘子(编号从n至1,即最下面盘子编号为n,最上面盘子编号为1)。目标:把A杆上的盘子全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。提示:编写递归函数解决该问题。
参考答案和解析
Hanoi
更多 “10、编写程序解决汉诺塔问题:有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置n个盘子(编号从n至1,即最下面盘子编号为n,最上面盘子编号为1)。目标:把A杆上的盘子全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。提示:编写递归函数解决该问题。” 相关考题
考题
请用python编程 据说古代有一个梵塔,塔内有3个底座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个和尚想把这64个盘子从A座移动到C座,但每次只能允许移动一个盘子。在移动盘子的过程中可以利用B座,但任何时刻3个座上的盘子都必须始终保持大盘在下、小盘在上的顺序。如果只有一个盘子,则不需要利用B座,直接将盘子从A移动到C即可。 编写函数,接收一个表示盘子数量的参数和分别表
考题
桌子上有一只盘子,每次只能放入一只水果,父亲专向盘子中放苹果,母亲专向盘子中放桔子,一个儿子专等吃桔子,一个女儿专等吃苹果。只要盘子中空,则父亲或母亲可向盘子中放一只水果,仅当盘子中有自己需要的水果时,儿子或女儿可从盘子中取出。将父亲、母亲、儿子、女儿看做四个进程,用PV操作进行管理使这四个进程能正确地并发执行。
考题
阅读以下说明,回答问题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 . hvoid 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 (nl){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----CStep 2: (l)Step 3: Disk I C----BStep4: (2)Step 5: (3)Step 6: Disk 2 B----CStep 7: (4)
考题
单选题句子“我吃光了盘子里的菜。”中的补语“光”从语义上指向()。A
施事“我”B
动词“吃”C
名词“盘子”D
受事“盘子里的菜”
热门标签
最新试卷