void find(char *source, char *result, int n)
{
if(n==1)
{
while(*source)
printf("%s%c\n", result, *source++);
}
else
{
int i, j;
for(i=0; source != 0; i++);
for(j=0; result[j] != 0; j++);
for(; i>=n; i--)
{
result[j] = *source++;
result[j+1] = '\0';
find(source, result, n-1);
}
}
}
int main(int argc, char* argv[])
{
int const n = 3;
char *source = "ABCDE", result[n+1] = {0};
if(n>0 && strlen(source)>0 && n<=strlen(source))
find(source, result, 3);
}
组合问题(从M个不同字符中任取N个字符的所有组合)
最新推荐文章于 2024-03-18 22:26:02 发布
本文介绍了一个使用C语言编写的递归函数,该函数能够生成由特定字符集构成的所有长度为n的字符串组合。通过对源字符串进行遍历并递归调用自身,程序能够输出所有可能的组合。
1690

被折叠的 条评论
为什么被折叠?



