枚举法的简单应用

箱子里有红,黄,蓝,白,黑五种颜色玻璃球若干,每次任意拿出三个球,问拿出三种不同颜色玻璃球的可能取法,请输出每种排列的情况。

注解:利用枚举法定义五种情况,“enum color {red,yellow,blue,white,black};”,定义四个整形变量“int i,j,k,m=0;”,依次从i到k分别进行从红到黑的情况循环,利用if来决断i,j,k互不相等的情况,针对每种情况通过调用函数来进行输出转换,得到结果。

编程:

#include <iostream>
using namespace std;
enum color {red,yellow,blue,white,black};
int main()
{void shuchu(int);
int i,j,k,m=0;
for(i=red;i<=black;i++)
for(j=red;j<=black;j++)
if(i!=j) for(k=red;k<=black;k++)
if(i!=k&&j!=k) {m++;
cout<<m<<" ";
shuchu(i);shuchu(j);shuchu(k);
cout<<endl;
}
return 0;
}
void shuchu(int i)
{switch(i)
{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;
}
}

原文地址:https://www.cnblogs.com/NYNU-ACM/p/4345486.html