1つの#include <stdio.hの> 2 / * 3。 実施例ABCDで: 4 1.固定A、BCD再帰全体構成左に1つの文字、印刷されたすべての文字まで。元の順序を復元します。 5つの 2.A及びB交換、固定されたB、再帰ACD全体構成。元の順序を復元します。 6 Dの完全な配列が排出されるまで前記交換要求。 7 * / 8。 ボイドパーマ(チャー STR []、INT K、INT N-){ 9。 INT I; 10 チャーTEMP; 11 IF(K == N-){ 12である ため(I = 0、I <N - 、++ I ) 13 のprintf(" %のC "、STR [I])。 14 のprintf(" の\ n " ); 15 } 他{ 16 のための(I = K; iがN <; ++ I){ 17 TEMP = STR [K]。 18 STR [K] = STR [I]。 19 STR [I] = TEMP。 20 パーマ(STR、K + 1 、N)。 21 一時=のSTR [I]。 22 STR [I] =のSTR [K]。 23 STR [K] = TEMP。 24 } 25 } 26 } 27 28 のint main()の 29 { 30 チャー STR [ 5 ] = { " ABCD " }。 31 パーマ(STR、0、4 )。 32 リターン 0 。 33 }