#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* 已知字符串中的字符是互不相同的,现在把他们任意排列
(例如,若已知字符串是“ab”,则任意输出排列是“ab”“aa”“ba”“bb”),编程输出全部的所有组合。*/
void flexiblePermutation(char s[],char ans[],int num,int sLength)
{
if(num==sLength){
printf("%s\n",ans);
return;
}
for(int i=0;i<sLength;++i){
ans[num]=s[i];
flexiblePermutation(s,ans,num+1,sLength);
}
}
int main()
{
char s[99]="";
gets(s);
int sLength=strlen(s);
char ans[99]="";
flexiblePermutation(s,ans,0,sLength);
return 0;
}
字符串的组合排列(非全排列)
最新推荐文章于 2023-01-10 08:30:00 发布