📄 孙祯圻-6分.txt
字号:
//学号:041321215
//姓名:孙祯圻
//专业:软件工程
//题目:hanoi塔问题
#include <stdio.h>
#include <iostream.h>
#include <fstream.h>
#include <iomanip.h>
//定义第一根柱子A为1,目标B为2,辅助柱子C为3
#define A 1
#define B 2
#define C 3
void move(int n,int column1,int column2,ofstream& ofile)
{
//输出结果到文件里....char(column+n)转换代表柱子的数字为柱子名
ofile<<n<<" "<<char(column1+64)<<" "<<char(column2+64)<<endl;
}
void hanoi(int n,int column1,int column2,int column3,ofstream& ofile)
{ if (n>1)
{
hanoi(n-1,column1,column3,column2,ofile); //先将最上的n-1个盘子从A柱移动到C柱
move(n,column1,column2,ofile); //再将最下的一个盘子n 从A柱移动到B柱
hanoi(n-1,column3,column2,column1,ofile); //最后将放在C柱上的n-1个盘子移回B柱
} else move(1,column1,column2,ofile); //如果只有一个盘子,只需直接将其从A移动到B
}
void main()
{
int n;
ifstream inFile("input.txt");
ofstream outFile("output.txt");
inFile>>n; //读取n值
hanoi(n,A,B,C,outFile); //递归进行移动
inFile.close();
outFile.close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -