鱼C论坛

 找回密码
 立即注册
查看: 2631|回复: 1

[技术交流] hanoi汉诺塔问题,凭着小甲鱼一句话“如果能自己完成,就有一定基础”我自己写出来了

[复制链接]
发表于 2012-4-27 22:21:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入 1,2,3,4 个盘验证了都没错,后面的次数太多了,不验证了。
不知道我写的程序是否好理解。被那个统计搬运次数折腾了一晚上,才突然想到用全局变量来解。

#include <stdio.h>
int hanoi(int m,char x,char y,char z );
int s=0;                        //计算次数
void main()
{
        int n,t;
        char a='A',b='B',c='C';     //a b c分别表示3个位置
        printf("please input a number:\n");
        scanf("%d",&n);
       
        hanoi(n, a, b, c);
        printf("%d times\n",s);
        getch();                       //运行exe文件用于暂停屏幕的,对程序没影响
}


int hanoi(int m,char x,char y,char z)
{
       
  
  if(m<=0)
  {printf("error number\n");}


  else if(m==1)
  {
          printf("%c->%c\n",x,z);s++;
          
   
  }
  else if (m==2)
  {
          printf("%c->%c\n",x,y);s++;
          printf("%c->%c\n",x,z);s++;
          printf("%c->%c\n",y,z);s++;
          
  }
  else
  {

          hanoi(m-1,x,z,y);
          printf("%c->%c\n",x,z);s++;
          hanoi(m-1,y,x,z);

                    
          
  }
  
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-28 03:32:27 | 显示全部楼层
表示暂时理解不了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-27 13:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表