cc98760 发表于 2014-2-17 18:07:43

请教一个汉诺塔编程的问题,请大家帮帮忙,看哪里错了。。。

   我是看了视频之后打的可就是提示错误
#include <stdio.h>
#include <stdlib.h>
int main()
{       
    void hanoi(int m,char one, char two,char three);
    int n;
    printf("plese input the number of diskes :");
    scanf("%d",&n);
    printf("the step to moveing %d diskes:\n",n);
    hanoi(n,'A','B','C');

}

        void hanoi(int m,char one ,char two ,char three)
    {
       void move(char x,char y);
      void move(char x,char y)
      {
            printf("%c-->%c\n",x,y);
      }      
      if(m==1)
      move(one,three);
      else
      {
         hanoi(m-1,one,three,two);
         move(one,three);
         hanoi(m-1,two,one,three);
      }

   }   


swsm 发表于 2014-2-17 18:07:44

cc98760 发表于 2014-2-17 20:53 static/image/common/back.gif
我的不是这个编译器

那我就没办法了,你的这个程序在谭浩强的c程序设计的第176页有这个程序。可以看看!

oggplay 发表于 2014-2-17 18:58:21

本帖最后由 oggplay 于 2014-2-17 19:19 编辑

把第一个 void move(char x,char y);去掉就ok!:lol:

swsm 发表于 2014-2-17 19:14:12

#include <stdio.h>
#include <stdlib.h>



void main()
{      
    void hanoi(int m,char one, char two,char three);        //这里是hanoi的声明
       

    int n;
    printf("plese input the number of diskes :");
    scanf("%d",&n);
    printf("the step to moveing %d diskes:\n",n);
    hanoi(n,'A','B','C');

}

void hanoi(int m,char one ,char two ,char three)
{
   
        void move(char x,char y);                                                        //这里是move的声明
   
    if(m==1)
    move(one,three);                                                                        //声明了之后才可以调用move函数
    else
    {
       hanoi(m-1,one,three,two);
       move(one,three);
       hanoi(m-1,two,one,three);
    }

}
       
void move(char x,char y)
{
        printf("%c-->%c\n",x,y);
}   

//在你的程序上改动了一下,函数声明位置,和函数的位置,main函数由于没有返回值就改成void了。

cc98760 发表于 2014-2-17 19:32:30

swsm 发表于 2014-2-17 19:14 static/image/common/back.gif
#include
#include



怎么出现了这个
ld returned 1 exit statu

swsm 发表于 2014-2-17 19:52:17

cc98760 发表于 2014-2-17 19:32 static/image/common/back.gif
怎么出现了这个
ld returned 1 exit statu

我给你的程序是在vc++6.0下,windows系统下运行成功的,你再试试

cc98760 发表于 2014-2-17 20:53:23

swsm 发表于 2014-2-17 19:52 static/image/common/back.gif
我给你的程序是在vc++6.0下,windows系统下运行成功的,你再试试

我的不是这个编译器

cc98760 发表于 2014-2-18 17:29:19

swsm 发表于 2014-2-17 21:08 static/image/common/back.gif
那我就没办法了,你的这个程序在谭浩强的c程序设计的第176页有这个程序。可以看看!

我还是下个vc++6.0算了。。

じO-联合 发表于 2014-2-18 23:37:09

这个貌似可以吧。。。我看了

cc98760 发表于 2014-2-19 09:49:10

じO-联合 发表于 2014-2-18 23:37 static/image/common/back.gif
这个貌似可以吧。。。我看了

应该是编译器的问题

zhaopengfei 发表于 2014-2-20 16:06:08

编译器有问题,换VC++

cc98760 发表于 2014-2-20 16:52:58

zhaopengfei 发表于 2014-2-20 16:06 static/image/common/back.gif
编译器有问题,换VC++

win 7伤不起啊,还的装虚拟机。。。

zhaopengfei 发表于 2014-2-20 20:12:31

cc98760 发表于 2014-2-20 16:52 static/image/common/back.gif
win 7伤不起啊,还的装虚拟机。。。

VC++ 6.0 不用装虚拟机啊,win7就可以完美运行,我就是在win7上用的,一直很好
页: [1]
查看完整版本: 请教一个汉诺塔编程的问题,请大家帮帮忙,看哪里错了。。。