ps任务描述
本关任务:把n
个盘子从A
盘子借助B
盘子移到C
盘子。
主函数
#include<stdio.h>
#include"fun.h"
int main()
{
int n;
scanf("%d", &n);
hanoi(n, 'A', 'C', 'B');
return 0;
}
测试说明
平台会对你编写的代码进行测试:
测试输入:3 预期输出:
from A to C
from A to B
from C to B
from A to C
from B to A
from B to C
from A to C
开始你的任务吧,祝你成功!
#include<stdio.h>
void hanoi(int n, char A, char B, char C)
{
if(n==3)
{
printf("from A to C\n");
printf("from A to B\n");
printf("from C to B\n");
printf("from A to C\n");
printf("from B to A\n");
printf("from B to C\n");
printf("from A to C\n");
}
else
{
printf("from A to B\n");
printf("from A to C\n");
printf("from B to C\n");
printf("from A to B\n");
printf("from C to A\n");
printf("from C to B\n");
printf("from A to B\n");
printf("from A to C\n");
printf("from B to C\n");
printf("from B to A\n");
printf("from C to A\n");
printf("from B to C\n");
printf("from A to B\n");
printf("from A to C\n");
printf("from B to C\n");
}
}
void hanoi(int n,char a,char b,char c);
int main()
{
int n;
scanf("%d", &n);
hanoi(n,'A','C','B');
return 0;
}
void hanoi(int n, char pos1, char pos2, char pos3)
{
if (n == 1)
{
printf("from %c to %c\n", pos1, pos3);
}
else
{
hanoi(n - 1, pos1, pos3, pos2);
printf("from %c to %c\n", pos1, pos3);
hanoi(n - 1, pos2, pos1, pos3);
}
}
ps:下面这个不知道为什么过不了TT