解题思路:假设有64个盘子,最后一个盘子是要从a棒移动到c棒,前63个盘子通过c棒从a棒移动到b棒,在b棒的63个盘子通过a棒移动到c棒,大致应该是吧,参考小甲鱼的汉诺塔视频..
注意事项:
参考代码:
#include<stdio.h>//汉诺塔
void digui(int num,char a,char b,char c);
void digui(int num,char a,char b,char c)
{
if(num==1)
{
printf("Move %d from %c to %c\n",num,a,c);
}
else
{
digui(num-1,a,c,b);
printf("Move %d from %c to %c\n",num,a,c);
digui(num-1,b,a,c);
}
}
int main()
{
int n;
scanf("%d",&n);
digui(n,'1','2','3');
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:597 |
printf基础练习2 (C语言代码)浏览:593 |
A+B for Input-Output Practice (V) (C++代码)浏览:451 |
printf基础练习2 (有点不明白)浏览:844 |
简单的for循环浏览:1410 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:701 |
C二级辅导-同因查找 (C语言代码)浏览:568 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:673 |
小O的图案 (C语言代码)浏览:915 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:559 |