※ 引述《rex51920594 (rex51920594)》之銘言:
: The following recursive program segment is written in C language.
: Write the output if it is called with the instruction xbox (3, ‘A’, ‘B’,
: ‘C’).
: void xbox (int n, char x, char y, char z)
稱xbox
: {
: if (n > 0 ) {
: printf(“%c %c %c \n”, x, y, z);
: xbox (n-1 , x, z, y);
稱xbox_1
: xbox (n-1 , y, x, z);
稱xbox_2
: }
: }
以上那種稱呼只是方便你了解
: 解:
: n = 3 A B C
xbox(3, 'A', 'B', 'C')中的printf
: n = 2 A C B
xbox_1(3-1, 'A', 'C', 'B')中的printf
=xbox(2, 'A', 'C', 'B')中的printf
: n = 1 A B C
xbox_1(2-1, 'A', 'B', 'C')中的printf
=xbox(1, 'A', 'B', 'C')中的printf
: n = 1 C A B
xbox_2(2-1, 'C', 'A', 'B')中的printf
=xbox(1, 'C', 'A', 'B')中的printf
: n = 2 B A C
xbox_2(3-1, 'B', 'A', 'C')中的printf
=xbox(2, 'B', 'A', 'C')中的printf
: n =1 B C A
xbox_1(2-1, 'B', 'C', 'A')中的printf
=xbox(1, 'B', 'C', 'A')中的printf
: n =1 A B C
xbox_2(2-1, 'A', 'B', 'C')中的printf
=xbox(1, 'A', 'B', 'C')中的printf
程式中又沒有要列印n
回答怎麼能把n = x寫出來?
我要是閱卷者,第一個就給你打叉
: