|
迅雷笔试题 /*定义循环左移函数(我没有用左移函数)*/ { int i,j; char temp=str[0]; for (i=0;i<m;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 (m<n) /* 定 义 递 归 调 用 出 口 */ { for (k=0;k<=m;k++) { pai(str,m+1,n); /*递归调用*/ chang(str,m); /*调用左移函数*/ } } else printf("%s ",str); }
main() {char str[]="ABCD"; /*全排列字符,可以任意多个(相应的下面排列函数中参数"4"改成全排列字符的个数)*/ clrscr(); pai(str,0,4); /*这里参数0(下标)表示从第一个元素开始,4表示元素个数(不是下标)*/ getch(); (责任编辑:职场达人) |


