- 论坛徽章:
- 0
|
请教: 排列组合的穷举算法?
给你一个,我写的,将就用用? 希望对你有帮助。
代码不长,在附件中。我不懂如何粘贴代码,谁懂的教教我。
靠,原来添加文件的技术我也不懂。只好硬粘了。
- #include <stdio.h>;
- #define N 3
- #define M 4
- void f (char (*p)[M], int n, char *q);
- char str[M+1];
- int
- main ()
- {
- char a[N][M] = {"abcd", "efgh", "ijkl"};
- int i,j;
-
- /*
- for (i=0; i<3; i++) {
- for (j=0; j<4; j++)
- printf ("%c ", a[i][j]);
- putchar ('\n');
- }
- */
- f (a, N, str);
- exit (0);
- }
- void
- f (char (*p)[M], int n, char *q)
- {
- int i;
- if (n==1) {
- for (i=0; i<M; i++) {
- *q = p[0][i];
- puts (str);
- }
- } else {
- for (i=0; i<M; i++) {
- *q = p[0][i];
- f (p+1, n-1, q+1);
- }
- }
- return ;
- }
复制代码
原来如此。。。 :em11: |
|