您的位置是:首页 >> 计算机 >> 计算机水平考试 >> 文章阅读

程序员考试补课笔记-第八天


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

此文共有2页 上一页 1 2 下一页

关闭窗口

   兆联特别申明
1)除本站特殊规定外,本站所有信息均不拥有版权,仅供学习参考!
2)站内大部分内容注明出处及详细信息,版权归作者所有!如果您觉得不妥请及时与我站联系,我们将立即删除。
3)本站提供的资料您只有阅读权,并不等于您得到文章的所有权,本站反对将我站提供的资料直接使用。