C语言实现的动画汉诺塔

该程序使用C语言和easyx库实现了汉诺塔的动画效果,通过指针和结构体来管理盘子和柱子的状态。用户输入盘子数量后,程序会展示汉诺塔的移动过程。
摘要由CSDN通过智能技术生成
/*本程序实现C上的汉诺塔动画移动效果,如有建议可和我联系,QQ:928853003*/
/*编写者:杰  */
/*完成时间:2012年9月25日9:02	*/
/*有部分函数可参见easyx帮助	,运行之前必须安装easyx*/


/*指针的运用尤为重要,尤其是指针的指针容易迷惑人心*/
/*全局变量的定义应该优先与编写函数之前*/
/*常量的定义可以节省大量的编写时间,并可以使程序简洁友善*/

#include<graphics.h>
#include<conio.h>
#include<time.h>
#include<stdio.h>
#include<string.h>

#define Width(N) 220-20*(N)		/*计算对应编号N的盘子的宽度*/
#define H 20					/* 每个盘子的高度*/
#define LINE 180				/*盘子移动的上基准线*/
#define MAX 9					/*盘子的最大数目,由于配置优先,数目过大不能完全运行*/
#define DOWN 580				/*盘子底部基准线*/
/*-------全局变量-------------------------*/

int a[3]={0,0,0};				/*存储A,B,C柱子的当前盘子数目*/

int findNum(char c)				
{
	switch(c)
	{
		case 'A':return 0;break;
		case 'B':return 1;break;
		case 'C':return 2;break;
	}
}

struct Rec						/*盘子的定义*/
{
	int number;
	int width;
	int left;
	int top;
	int righ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值