中央論壇 - CENTER BBS
標題:
加計數器
[打印本頁]
作者:
f66666602
時間:
2007-8-14 04:41
標題:
加計數器
#include <iostream>
using namespace std;
int HanoiTower(int ,char,char,char); //return 型態改為int
void main()
{
int n;
char A = 'A' , B = 'B' , C = 'C', ans;
do
{
cout << "Hanoi Tower Implementaion\n";
cout << "How many disks in A ? ";
cin >> n;
if ( n == 0 )
cout << "no disk to move.\n";
else
cout<< "共輸出" << HanoiTower(n,A,B,C)<< "次" << endl; //HanoiTower函數會return int
cout << "Do you want to continue?\n";
cin >> ans;
}while(ans=='Y' || ans=='y');
}
int HanoiTower(int n,char a,char b,char c) //傳回型態改為int
{
static int i=0; // 設一個靜態int變數,不設的話 會return都會是1而以
if ( n == 1 )
{cout << "Move disk from " << a << " -> " << c << endl; i++;}//cout一次 ,i 就加一次
else
{
/*將A上n-1個盤子借助C移至B */
HanoiTower(n-1,a,c,b);
cout << "Move disk from " << a << " -> " << c << endl;
i++; //cout一次 ,i 就加一次
/*將B上n-1個盤子借助A移至C */
HanoiTower(n-1,b,a,c);
}
return i; //把最後輸出次數 return給main
複製代碼
歡迎光臨 中央論壇 - CENTER BBS (https://www.centerbbs.com/)
Powered by Discuz! X3