题解 | #全排列#C
全排列
https://www.nowcoder.com/practice/5632c23d0d654aecbc9315d1720421c1
#include <stdio.h>
#include<string.h>
char charac[7];
int len;
char way[7];
int hashtable[7];
void generate(int index)
{
if(index==len)
{
for(int i=0;i<len;i++)
{
printf("%c",way[i]);
}
printf("\n");
return;
}
for(int i=0;i<len;i++)
{
if(hashtable[i]==0)
{
hashtable[i]=1;
way[index]=charac[i];
generate(index+1);
hashtable[i]=0;
}
}
}
int main() {
int a, b;
while (scanf("%s", &charac[0]) != EOF) { // 注意 while 处理多个 case
len=strlen(charac);
generate(0);
}
return 0;
}
查看14道真题和解析

