C语言解决汉诺塔问题

2015-05-21 0 915
C语言解决汉诺塔问题

C语言解决汉诺塔问题

#include "stdio.h"
void hanoi(int n,char one ,char two,char three);
void move(char aa,char bb);
int main()
{
    int n;
    printf("汉诺塔问题,将盘子从a,借助于b移动到c.\n");
    printf("请输入盘子数:");
    scanf("%d",&n);
    printf("移动顺序为:\n");
    hanoi(n,'a','b','c');
    return 0;
}
//将n个盘子从one借助于two移动到three
void hanoi(int n,char one ,char two,char three)
{
    if(n==1)
    {
        move(one,three);
    }
    else
    {
        hanoi(n-1,one,three,two);
        move(one,three);
        hanoi(n-1,two,one,three);
    }
}
 
//从a移动到b
void move(char a,char b)
{
    printf("%c--->%c\n",a,b);
}

遇见资源网 c/c++ C语言解决汉诺塔问题 http://www.ox520.com/10070.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务