第十一周作业
这个题属于哪个课程 | c语言程序设计II | |
这个作业要求在哪里 |
|
|
我在这个课程的目标是 | 递归函数,宏定义 | |
这个作业在哪个具体方面帮助我实现目标 | 这个作业在哪个具体方面帮助我实现目标 | |
参考文献 | 参考文献 |
编程题:
汉诺塔问题* (10 分)
汉诺塔是一个源于印度古老传说的益智玩具。据说大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘,大梵天命令僧侣把圆盘移到另一根柱子上,并且规定:在小圆盘上不能放大圆盘,每次只能移动一个圆盘。当所有圆盘都移到另一根柱子上时,世界就会毁灭。
请编写程序,输入汉诺塔圆片的数量,输出移动汉诺塔的步骤。
输入格式
圆盘数 起始柱 目的柱 过度柱
输出格式
移动汉诺塔的步骤
每行显示一步操作,具体格式为:
盘片号: 起始柱 -> 目的柱
其中盘片号从 1 开始由小到大顺序编号。
输入样例
3 a c b
输出样例
1: a -> c 2: a -> b 1: c -> b 3: a -> c 1: b -> a 2: b -> c 1: a -> c
实验代码:
#include<stdio.h> void hanio (int n,char a,char b,char c); int main (void) { int n; char a,b,c; scanf("%d\n",&n); scanf("%c %c %c",&a,&b,&c); hanio(n,a,b,c); return 0; } void hanio (int n,char a,char b,char c) { if(n==1) printf("%d: %c -> %c\n",n,a,b); else { hanio (n-1,a,c,b); printf("%d: %c -> %c\n",n,a,b); hanio(n-1,c,b,a); } }
设计思路
实验结果
后面的不会八皇后问题听说过,那时候人家讲没仔细听,就是懵逼状态
后面的省略。。。。。。。。
心的
大部分人要我学习去看代码的眼光
我认真学习了程序设计 编程到天亮
一部C perimer plus没看懂一句话
看完结局才是笑话
你看我多乖多聪明多么听话 多奸诈
敲了几大行代码再离开是为了模仿
一出门不小心吐的那幅是谁的代码
你一天一口一个 亲爱的include
多么不流行的模样
都应该练练指针再出门闯荡
才会有人热情买账
要是能重来 我要还是要学C
几百年前做的注释 没那么多人猜
要是能重来 我要选李白
至少我还能写写代码来澎湃 逗逗女孩
要是能重来 我要选李白
编程也能到那么高端 被那么多人崇拜
要是能重来
喝了几大行代码再离开是为了模仿
一出门不小心吐的那幅是谁的代码
你一天一口一个 亲爱的include
多么不流行的模样
都应该练练指针再出门闯荡
才会有人热情买账
要是能重来 我还是要学C
几百年前做的注释 没那么多人猜
要是能重来 我还是要学C
至少我还能写写代码来澎湃 逗逗女孩
要是能重来 我要还是要学C
编程也能到那么高端 被那么多人崇拜
要是能重来
要是能重来 我要还是要学C
几百年前做的注释 没那么多人猜
要是能重来 我还是要学C
至少我还能写写代码来澎湃 逗逗女孩
要是能重来 我还是要学C
编程也能到那么高端 被那么多人崇拜
要是能重来