gc_8_11.c
来自「gc:高级程序员考试用书的c程序源文件」· C语言 代码 · 共 33 行
C
33 行
# 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 + =
减小字号Ctrl + -
显示快捷键?