美文网首页
C语言经典算法 - 产生可能的集合的代码

C语言经典算法 - 产生可能的集合的代码

作者: gougoude | 来源:发表于2019-05-14 10:07 被阅读0次

    如下的代码段是关于C语言经典算法 - 产生可能的集合的代码。

    #include <stdio.h>

    #include <stdlib.h>

    #define MAXSIZE 20

    int main(void)

    {

      char digit[MAXSIZE];

      int i, j;

      int n;

      printf("输入集合个数:");

      scanf("%d", &n);

      for (i = 0; i < n; i++)

        digit[i] = '0';

      while (1)

      {

        for (i = 0; i < n && digit[i] == '1'; digit[i] = '0', i++)

          ;

        if (i == n)

          break;

        else

          digit[i] = '1';

        for (i = 0; i < n && digit[i] == '0'; i++)

          ;

        printf("n{%d", i + 1);

        for (j = i + 1; j < n; j++)

          if (digit[j] == '1')

            printf(",%d", j + 1);

        printf("}");

      }

      printf("n");

      return 0;

    }

    字典顺序

    #include <stdio.h>

    #include <stdlib.h>

    #define MAXSIZE 20

    int main(void)

    {

      int set[MAXSIZE];

      int i, n, position = 0;

      printf("输入集合个数:");

      scanf("%d", &n);

      printf("n{}");

      set[position] = 1;

      while (1)

      {

        for (i = 1; i <= position; i++)

          printf(",%d", set[i]);

        printf("}");

        if (set[position] < n)

        {

          set[position + 1] = set[position] + 1;

          position++;

        }

        else if (position != 0)

        {

        }

        else

          break;

      }

      printf("n");

      return 0;

    }

    相关文章

      网友评论

          本文标题:C语言经典算法 - 产生可能的集合的代码

          本文链接:https://www.haomeiwen.com/subject/oqvjaqtx.html