您的位置:首页 > 其它

从M个不同字符中任取N个字符的所有组合

2010-09-26 16:06 253 查看
#include <string.h>

//组合问题(从M个不同字符中任取N个字符的所有组合)
void combine(char *source,char *result,int n){
if (1==n)
{
while (*source)
{
printf("%s %c/n",result,*source++);
}
printf("-------------------------------/n");
}else{
int i,j;
for (i=0;source[i]!=0;i++);
for (j=0;result[j]!=0;j++);
for (;i>=n;i--)
{
result[j]=*source++;
result[j+1]='/0';
combine(source,result,n-1);
}
}
}
int main(int argc, char* argv[])
{
int const n=3;
char *source="abcdefghi",result[n+1]={0};
if (n>0 && strlen(source)>0 && n<=strlen(source))
{
combine(source,result,n);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  include
相关文章推荐