063.汉诺塔问题
【摘要】
/*//*//* 汉诺塔问题 *//*//*/#include <stdio.h> /* hanoil 子程序,实现将n个盘子从a移动到c */void hanoil(int n,char a,char b, char c){...
-
/*//*/
-
/* 汉诺塔问题 */
-
/*//*/
-
#include <stdio.h>
-
-
/* hanoil 子程序,实现将n个盘子从a移动到c */
-
void hanoil(int n,char a,char b, char c)
-
{
-
if(n==1) /* 递归调用的出口,n=1 */
-
printf(" >> Move Plate No.%d from Stick %c to Stick %c.\n",n,a,c);
-
else
-
{
-
hanoil(n-1,a,c,b); /* 递归调用 */
-
printf(" >> Move Plate No.%d from Stick %c to Stick %c.\n",n,a,c);
-
hanoil(n-1,b,a,c);
-
}
-
}
-
-
/****************************** 主程序******************************/
-
-
void main()
-
{
-
int n;
-
char a='A';
-
char b='B';
-
char c='C';
-
clrscr();
-
printf("This is a hanoil program.\nPlease input number of the plates:\n");
-
scanf("%d",&n);
-
if(n<=0)
-
{
-
puts("n must no less than 1!");
-
exit(1);
-
}
-
puts("The steps of moving plates are:");
-
hanoil(n,a,b,c);
-
puts("\n Press any key to quit...");
-
getch();
-
-
}
文章来源: blog.csdn.net,作者:程序员编程指南,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_41055260/article/details/124495681
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)