题目:
口袋中有红、黄、蓝、白、黑五种颜色的球若干,每次从口袋中取出3个球。问得到三种不同颜色的球可以选取的方法。
代码:
#include <iostream>
using namespace std;
enum Color{white, yello, red, blue, back};//声明全部球的颜色变量
int main()
{
int time = 0;
Color col;
for (int i = white; i <= back; i++){
//j=i+1是为了不取与上一个颜色相同的求,就比如123和321,两种颜色是一样的。
for (int j = i+1; j <= back; j++) {
if (j!= i) {
for (int k =j+1 ; k <= back; k++) {
if ((k != i) && (k != j)) {
time++;
for (int s = 1; s <= 3; s++) {
switch (s) {
case 1:col=Color(i); break;
case 2:col = Color(j); break;
case 3:col = Color(k); break;
}
switch (col) {
case red:cout<<"red "; break;
case yello:cout << "yello "; break;
case blue:cout << "blue "; break;
case back:cout << "back "; break;
case white:cout << "white "; break;
}
}
cout << endl;
}
}
}
}
}
cout << time;
}
注:枚举类型可换成数组,例如char c[5][7]={"red","yellow","blue","white","black"};这样子更加方便打印出取出球的颜色。