注册 登录
编程论坛 C语言论坛

求3种颜色球的取法

afdgaerlkge 发布于 2020-12-31 19:04, 1150 次点击
口袋中红、黄、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况。
1 回复
#2
风过无痕19892020-12-31 22:27
回复 楼主 afdgaerlkge
程序代码:

// 口袋中红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,问得到3种不同颜色的球的可能取法,
// 输出每种排列的情况
#include <stdio.h>
void print_color(int p);
int main()
{
    int i, j, k, n = 0, p, q, r, arr[100];
    for (i = 1;i < 6;i++)
    {
        for (j = 1;j < 6;j++)
        {
            for (k = 1;k < 6;k++)
            {
                if (i != j && j != k && k != i)
                {
                    arr[n] = 100 * i + 10 * j + k;
                    n++;
                }
            }
        }
    }
   
    printf("共有 %d 种取法:\n", n);
    for (i = 0;i < n;i++)
    {
        p = arr[i] / 100;
        print_color(p);        // 输出第一个拿出来的小球
        q = (arr[i] / 10) % 10;
        print_color(q);        // 输出第二个拿出来的小球
        r = arr[i] % 10;
        print_color(r);        // 输出第三个拿出来的小球
        printf("\n");
    }
}

void print_color(int p)
{
    switch (p)
    {
    case 1:printf("");break;
    case 2:printf("");break;
    case 3:printf("");break;
    case 4:printf("");break;
    case 5:printf("");
    return 0;
    }
}
1