#include <stdio.h>
#include <string.h>
void Compine(char* str, char* des, int n, int m)
{
if (0 == m)
{
des = des - n;
des[n] = '\0';
printf("%s\n",des);
//*des = '\0';
return;
}
int len = strlen(str);
for(int i=0;i<=len-m; i++)
{
des[0] = str[i];
Compine(str+i+1,des+1,n,m-1);
}
}
void main()
{
char p[] = "abcde";
char des[20];
Compine(p,des,3,3);// 组合,C(n,m),Compine形参中n和m相同,其中一个是记录递归值
}
组合的C语言实现
最新推荐文章于 2021-05-23 23:13:26 发布