BohYoh.comトップページへ

C言語によるアルゴリズムとデータ構造

戻る  

演習5-5の解答

 軸名を数値でなく、文字列で表せるように実現せよ(たとえば、"A軸", "B軸", "C軸"のようにする)。

/* 演習5-5 ハノイの塔(軸名を表示) */ #include <stdio.h> /*--- 円盤をx軸からy軸へ移動 ---*/ void move(int no, int x, int y) { char *name[] = {"A軸", "B軸", "C軸"}; if (no > 1) move(no - 1, x, 6 - x - y); printf("[%d]を%sから%sへ移動\n", no, name[x - 1], name[y - 1]); if (no > 1) move(no - 1, 6 - x - y, y); } int main(void) { int n; /* 円盤の枚数 */ printf("円盤の枚数:"); scanf("%d", &n); move(n, 1, 3); return (0); }


戻る