迅雷筆試題 /*定義循環左移函數(我沒有用左移函數)*/
{
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();