#include<stdio.h> #include <string.h> int fun(char *s,int n,int l) { char s1[100]; int i,j; if(l==0) { printf("%s\n",s); return 0; } strcpy(s1,s); for(i=0;i<=n;i++) { strcpy(s1,s); for(j=n-1;j>=i;j--) s1[j+1]=s1[j]; s1[i]='-'; s1[n+1]='\0'; fun(s1,n+1,l-1); } } int main() { char a[100]; int i,len; scanf("%d%s",&len,a); fun(a,strlen(a),len); getch(); } 输入:2 abc 输出: --abc --abc -a-bc -ab-c -abc- -a-bc a--bc a--bc a-b-c a-bc- -ab-c a-b-c ab--c ab--c ab-c- -abc- a-bc- ab-c- abc-- abc--

评论