程序代码:#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;
}程序很简单,就是算法,需要转个弯~








