文档库 最新最全的文档下载
当前位置:文档库 › C语言经典程序之诺汉塔画图版

C语言经典程序之诺汉塔画图版

诺汉塔画图版
发表日期:2006-9-2 2:32:00

/*这是我老师编的程序 Andy*/
#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();
}


相关文档