当前位置: 代码迷 >> C语言 >> 菜鸟求助。。
  详细解决方案

菜鸟求助。。

热度:200   发布时间:2008-05-30 20:41:26.0
菜鸟求助。。
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 12:41:26
Loli

来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
  得分:0 
很简单,你加一个全局变量统计就可以了

[color=white]
----------------解决方案--------------------------------------------------------
//加一个静态变量
#include <stdio.h>

void hanio (int n, char A, char B, char C);
void move (char x,char y);

int main()
{
    int n;

    printf("input the number of diskes: ");
    scanf("%d",&n);
    printf("the step to moving %d diskes:\n", n);
    hanio (n,'A','B','C');
    getchar();
    getchar();
    return 0;
}

void hanio (int n, char A, char B, char C)
{
    if (n==1)
        move (A,C);
    else
    {
        hanio(n-1,A,C,B);
        move (A,C);
        hanio(n-1,B,A,C);
    }
}

void move (char x, char y)
{
    static int i = 0;
     i++;
    printf("%d: %c -----> %c\n",i,x,y);
}

[[it] 本帖最后由 andyzhshg 于 2008-5-30 20:49 编辑 [/it]]
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 12:47:22
andyzhshg

等 级:论坛游民
帖 子:111
专家分:20
注 册:2007-9-1
  得分:0 
加一个全局变量也可以,也放在输出语句的前边自增
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽
2008-05-30 12:55:34
Loli

来 自:飞燕算法群46520219
等 级:新手上路
帖 子:348
专家分:0
注 册:2008-5-27
  得分:0 
楼主加油吧

[color=white]
----------------解决方案--------------------------------------------------------
又看到熟悉的画了……好像是一个轮回……
----------------解决方案--------------------------------------------------------
  相关解决方案