3种不同颜色的球的可能取法
口袋中红、黄、蓝、白、黑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;
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 = 100 * i + 10 * j + k;
n++;
}
}
}
}
printf("共有 %d 种取法:\n", n);
for (i = 0;i < n;i++)
{
p = arr / 100;
print_color(p); // 输出第一个拿出来的小球
q = (arr / 10) % 10;
print_color(q); // 输出第二个拿出来的小球
r = arr % 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]