例:口袋中有红,黄,蓝,白,黑,五中颜色的球,每次从口袋中先后取出3个球,问得到的三种不同的球的不同的颜色球的取法,输出每种取法
void TestEnum()
{
//测试枚举类型的用法
enum color{red,yellow,blue,white,black};
enum color i,j,k,pri;
int n,loop;
n = 0;
for (i=red;i<=black;i=(enum color)(i+1))
{
for (j=red;j<=black;j=(enum color)(j+1))
{
if (i!=j)
{
for(k=red;k<=black;k=(enum color)(k+1))
{
if ((k!=i)&&(k!=j))
{
n++;
cout<<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 : cout<<"red"<<" ";break;
case yellow : cout<<"yellow"<<" ";break;
case blue : cout<<"blue"<<" ";break;
case white : cout<<"white"<<" ";break;
case black : cout<<"black"<<" ";break;
default:break;
}
}
cout<<endl;
}
}
}
}
}
cout<<"total:"<<n<<endl;
}
运行结果:60种