15.c

来自「用C语言写的,解决Hanoi塔问题.希望对大家有用.」· C语言 代码 · 共 22 行

C
22 行
字号
//Hanoi塔问题
#include<stdio.h>
void move(int n ,char a,char c)
{
	static int step=1;
	printf("step %2d: Disk %d %c--->%c\n",step,n,a,c);
	step++;
}
void Hanoi(int n,char a,char b,char c)
{
	if(n>1)
	{
		Hanoi(n-1,a,c,b);//先将n-1个盘子从a通过c搬到b
		move(n,a,c);//将第n个盘子从a搬到c
		Hanoi(n-1,b,a,c);//再将着前n-1个盘子从b通过a搬到c
	}
	else  move(n,a,c);//将这1个盘子从a搬到c
}
void main()
{
	Hanoi(7,'A','B','C');
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?