、组合问题(从M个不同字符中任取N个字符的所有组合)

C语言

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[i] != 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);

}

同类其他面试题 点击新一篇或旧一篇可浏览全部同类面试题

新一篇:
旧一篇:

你有答案? 你对以上面试题有意见? 你想发表你的见解? 写下来吧!你的分享将会让很多人受益!

相关面试题

·C语言的字符串复制面试题
·C语言综合编程题
·C语言面试问答题
·C语言笔试
·C++标准库头文件都有哪些?

版权声明:本站大部分内容为原创! 另有少部分内容整理于网络,如需转载本站内容或关切版权事宜请联系站长。未经允许,严禁复制转载本站内容,否则将追究法律责任。 本站欢迎与同类网站建立友情链接,请联系QQ:176687814