回覆列表
  • 1 # 比特幣交易員

    #include <stdio.h>

    #include <stdlib.h>

    int main(int argc, char *argv[])

    {

    short int num[6];

    short int arr[20][3]; //組合結果,C6,3 = 20

    short int i, j, k;

    short int len = 6, m = 0; //陣列num長度和組合個數

    //輸入

    printf("Input 6 number(separated by space):\n");

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

    scanf_s("%hd", &num[i]);

    //剔除重複資料

    for (i = 0; i < len - 1; i++)

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

    if (num[i] == num[j])

    {

    num[j] = num[--len]; //陣列末端值覆蓋重複值,並且陣列長度-1

    j--;

    }

    //進行組合

    for (i = 0; i < len - 2; i++)

    for (j = i + 1; j < len - 1; j++)

    for (k = j + 1; k < len; k++)

    {

    arr[m][0] = num[i];

    arr[m][1] = num[j];

    arr[m][2] = num[k];

    m++;

    }

    //輸出

    printf("There are %hd kinds of combination:\n", m);

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

    printf("%hd: %hd, %hd, %hd\n", i, arr[i][0], arr[i][1], arr[i][2]);

    system("pause");

    return 0;

    }

    執行結果:

  • 中秋節和大豐收的關聯?
  • 請問部隊裡面門橋的構造和作用?