程序员考试笔记八:诺汉塔的原理
创始人
2024-03-20 09:51:52
0

今天回到学佼也没有讲课,因为老师忙着一些其它事,听说好像是多媒体比赛的吧,要今天上交了。那我们只好回到课室里自己看书了,不过在这段时间里我们都没有看什么书,只是大家聊了起来。我也插了嘴吹了几句,可是很快就没有心情了,唉!只好睡一睡吧。当我休息了一会发现老师都已经回来了,而且说让我们今天上机房。今天是***次上机房,不过如果不是什么事我也不愿上机房,因为我觉得听老师讲课还好。我们上到机房,老师给了一条程序我们,喔!这不是前两天说要搞的那个诺汉塔吗!而且是结合了图形表示的。我们都兴奋起来了,开始研究着这条程序。我开始执行这个诺塔了,他给的参数不是很多,只是十个盘子而已,你知道我按了多长时间吗?我一直按着来看也看了快一个5分钟才看完啊,这个问题果然是复杂。看着这些图画演示让我更加清晰的明白了诺汉塔的原理,这里我不敢自私,我把源程序也COPY回家了,以下就是了:

#include
#include
char dd[10][20],space[20];
int a[11],b[11],c[11];
init()
{
  int i,j;
  for(i=0;i<20-1;i++) space[i]=' ';
  space[i]='\0';
  for(i=0;i<10;i++)
  {  for(j=0;j<20-1;j++)dd[i][j]=' ';
    dd[i][j]='\0';
    for(j=9-i;j<=9+i;j++)dd[i][j]='a'+i;
  }
for(i=0;i<10;i++) a[i]=i,b[i]=-1,c[i]=-1;
a[10]=2,b[10]=25,c[10]=50;
for(i=0;i<10;i++)
{
   gotoxy(a[10],10+i);
  cprintf("%s",dd[i]);
}
}
move(int *s,int *d)
{ int i,j;
  for(i=0;s[i]==-1&&i<10;i++);
  gotoxy(s[10],10+i);
  cprintf("%s",space);
  for(j=0;d[j]==-1&&j<10;j++);
  j--;
  gotoxy(d[10],10+j);
  cprintf("%s",dd[s[i]]);
  d[j]=s[i];s[i]=-1;
  getche();
}
void hanoi(int n,int *s,int *w,int *d)
{  int i;
  if(n==1)move(s,d);
  else
  {
    hanoi(n-1,s,d,w);
    move(s,d);
    hanoi(n-1,w,s,d);
  }
}
main()
{
 clrscr();
 init();
 getche();
 hanoi(10,a,b,c);
 getche();
}

  ***除了看了这条程序,老师还给我们试着用TC调试程序了。你知道我以前调试程序是怎样的吗?我就是直接ALT+F9看看有没有出错,如果有就修改,没有则成功了。可是真天我真正认识到TC里调试程序的真正方法,其实TC里有一大推的调试工具,这是我以前一直没有用过的,只知道有一个就是一步一步执行,跟着其它就一无所知了。其实TC里可以把一些变量的值跟踪显示出来,这是调试程序的重要手段,以前不知道这个功能都是用笔写在纸上的,现在可以很方便准确的看出来了。下面的几张图片是我自己切出来的,大家看看就知道知道了(可能大家原来就知道,是我菜摆了)。今天的课程也算学到东西了吧,我该回去好好利用这个功能来调试程序了。

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...