#include <string.h>
#include <stdio.h>
#include <stdlib.h>


void combine(char *value,char *result,int m)
{
    if(m == 1)
    {
        while(*value != '\0')
        {
            printf("%s%c\n",result,*value);
            value++;
        }
    }

    int value_len = strlen(value);
    int result_len =  strlen(result);

    int i = 0;
    for(i = 0;i < value_len - m + 1;i++)
    {
        result[result_len] = *value;
        result[result_len + 1] = '\0';
        value++;
        combine(value,result,m - 1);
    }
}

int main()
{
    printf("输入字符集:\n");
    char value[10];
    scanf("%s",value);
    printf("输入组合的数字:\n");
    int m;
    scanf("%d",&m);

    char *result = (char *)malloc(m + 1);
    memset(result,0,m + 1);

    combine(value,result,m);


    return 0;
}

 

相关文章:

  • 2022-12-23
  • 2021-11-11
  • 2021-08-04
  • 2022-12-23
  • 2021-09-13
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-06-28
  • 2021-09-09
  • 2022-12-23
  • 2021-07-15
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案