口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况
#include<stdio.h>
int main()
{
enum Color {red, yellow, blue, white, black};//枚举类声明,分别对应0,1,2,3,4
enum Color i, j, k, pri;
int n, loop;
n = 0;
for(i = red; i <= black; i++)
for(j = red; j <= black; j++)
if(i != j)
{
for(k = red; k <= black; k++)
if((k != i) && (k != j))
{
n = n + 1;
printf("%-4d", n);
for(loop = 1; loop <= 3; loop++)
{
switch(loop)
{
case 1: pri = i; break;
case 2: pri = j; break;
case 3: pri = k; break;
default: break;
}
switch(pri)
{
case red:printf("%-10s", "red"); break;
case yellow:printf("%-10s", "yellow"); break;
case blue:printf("%-10s", "blue"); break;
case white:printf("%-10s", "white"); break;
case black:printf("%-10s", "black"); break;
default: break;
}
}
printf("\n");
}
}
printf("\ntotal: %5d\n", n);
return 0;
}