hannuo.cpp
来自「大学数据结构课程汉诺塔问题程序解决」· C++ 代码 · 共 61 行
CPP
61 行
// hannuo.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <memory.h>
typedef struct tagdish
{
int num[100];
int n;
}dish;
void move(int n,dish dismov,int a,int b,int c)
{
dish newdis;
static step=0;
if(n==1)
{
if(c==1)
printf("%6d",dismov.num[n-1]);
if(c==2)
printf("%12d",dismov.num[n-1]);
if(c==3)
printf("%18d",dismov.num[n-1]);
step++;
printf("%25d\n",step);
}
else
{
memcpy(&newdis.num,&dismov.num,sizeof(int)*(n-1));
newdis.n=n-1;
move(newdis.n,newdis,a,c,b);
if(c==1)
printf("%6d",dismov.num[n-1]);
if(c==2)
printf("%12d",dismov.num[n-1]);
if(c==3)
printf("%18d",dismov.num[n-1]);
step++;
printf("%25d\n",step);
move(newdis.n,newdis,b,a,c);
}
}
int main(int argc, char* argv[])
{
dish alldish;
int i;
for(i=0;i<15;i++)
alldish.num[i]=i+1;
alldish.n=15;
move(4,alldish,1,2,3);
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?