迅雷筆試 程式題

迅雷筆試題 /*定義循環左移函式(我沒有用左移函式)*/

{

int i,j;

char temp=str[0];

for (i=0;im;i ) str[i]=str[i 1];

str[i]=temp;

}

void pai(char str[],int m,int n) /*定義全排列函式*/

{ int k;

void chang(char str[],int m);

if (mn) /* 定 義 遞 歸 調 用 出 口 */

{

for (k=0;k=m;k )

{

pai(str,m 1,n); /*遞歸調用*/

chang(str,m); /*調用左移函式*/

}

}

else printf(%s ,str);

}

include stdio.h

main()

{char str[]=abcd; /*全排列字元,可以任意多個(相應的下面排列函式中參數4改成全排列字元的個數)*/ clrscr(); pai(str,0,4); /*這裡參數0(下標)表示從第一個元素開始,4表示元素個數(不是下標)*/ getch();