程序代码:
#include <stdio.h> //两个元素交换 void swap(char &a, char &b) { char temp; temp=a; a=b; b=temp; } void recursion(char a[], int k, int m) { if(k==m) { for(int i=0; i<m; i++) { printf("%c", a[i]); } printf("\n"); } else { for(int i=k; i<m; i++) { swap(a[k], a[i]); recursion(a, k+1, m); swap(a[k], a[i]); } } } int main(void) { char a[]="ABCDE"; recursion(a, 0, sizeof(a)-1); return 0; }程序很简单,就是算法,需要转个弯~