C语言网

 找回密码
 加入社区!

QQ登录

只需一步,快速开始

C语言网 网站首页 C语言 C语言心得技巧 查看内容

C语言程序员考试补课笔记

2009-8-28 20:30| 发布者: admin| 查看: 6359| 评论: 0

摘要: 第一天  今天是第一天补课,终于有又机会可以听到林老师的课了,我觉得他比老潭说得还要好呢,虽然我没有听过老潭的课,不过我相信绝大部份在校的人学C语言都是用老潭的《C程序设计》吧。这本书的好处是有很多的, ...

第八天 200X年X月X日

今天回到学佼也没有讲课,因为老师忙着一些其它事,听说好像是多媒体比赛的吧,要今天上交了。那我们只好回到课室里自己看书了,不过在这段时间里我们都没有看什么书,只是大家聊了起来。我也插了嘴吹了几句,可是很快就没有心情了,唉!只好睡一睡吧。当我休息了一会发现老师都已经回来了,而且说让我们今天上机房。今天是第一次上机房,不过如果不是什么事我也不愿上机房,因为我觉得听老师讲课还好。我们上到机房,老师给了一条程序我们,喔!这不是前两天说要搞的那个诺汉塔吗!而且是结合了图形表示的。我们都兴奋起来了,开始研究着这条程序。我开始执行这个诺塔了,他给的参数不是很多,只是十个盘子而已,你知道我按了多长时间吗?我一直按着来看也看了快一个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里可以把一些变量的值跟踪显示出来,这是调试程序的重要手段,以前不知道这个功能都是用笔写在纸上的,现在可以很方便准确的看出来了。


鲜花
1

握手

雷人
2

路过

鸡蛋

刚表态过的朋友 (3 人)

最新评论

C语言 ( 粤ICP备11042647号-2 )

GMT+8, 2012-2-7 22:49

©2009-2011 cyuyan.com.cn

回顶部