📄 gc_8_11.c
字号:
# include <stdio.h>
# include <string.h>
# define N 20
char w[N];
void perm(int n,char *s)
{
char s1[N];
int i;
if(n < 1) printf("%s\n",w); /*一个排列生成输出*/
else { /*设定本层次字符,并递归调用生成更深层次字符*/
strcpy(s1,s); /*保存本层次可用的字符*/
for(i = 0; *(s1 + i); i++) { /*依次选本层次可用字符*/
*(w+n-1) = *(s1+i); /*选用字符填入正生成的字符排列中*/
*(s1+i) = *s1;
*s1 = *(w+n-1);
perm(n-1,s1+1); /*递归*/
}
}
}
void main()
{
char s[20];
int n;
printf("输入要排列的字符串\n");
scanf("%s",&s);
printf("你想生成有几个字符组成的字符排列\n");
scanf("%d",&n);
perm(n,s);
//perm(3,"abcdefghi");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -