您的位置:首页 > 其它

新气象

2009-12-22 21:55 134 查看
第一次来到这个地方,希望大家可以多多的互相帮助,在这里我首先提供一个程序供大家使用吧

关于汉塔诺问题:

源程序

/ *编译环境Visual C++6.0 */
#include<stdio.h>
#include<iomanip.h>
void move(int h,char c,char f)
{
printf("%d:%c--->%c/n",h,c,f);
}
void hanoi(int n,char x,char y,char z)
{
if(n==1) move(1,x,z);
else
{
hanoi(n-1,x,z,y);
move(n,x,z);
hanoi(n-1,y,x,z);
}
}
void main(void)
{
int flag;
do
{
printf(" 汉诺塔问题/n/n");
printf("[1] 开始/n");
printf("[2] 退出/n");
printf("1--2请选择:");
scanf("%d",&flag);
printf("/n");
switch(flag)
{
case 1:
printf("输入盘子的总数:");
int total;
scanf("%d",&total);
printf("移动步骤:/n");
hanoi(total,'A','B','C');
break;
case 2:
printf("确认退出吗!Y/N:");
char temp;
cin>>temp;
if(temp=='Y'||temp=='y')
{
flag=3;
printf("谢谢使用!/n/n");
}
break;
default:
printf("您的选择超出范围,1--2请选择!/n");
}
printf("/n/n/n");
}while(flag!=3);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: