|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
口袋中红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况
- // 口袋中红、黄、蓝、白、黑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;
- }
- }
复制代码
|
|