利用枚举类型编写程序:口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,问得到3种不同颜色的球的可能取法,输出每种排列的情况()。如何输出组合的情况 () ?
时间: 2024-01-24 17:17:06 浏览: 31
以下是利用枚举类型编写的程序,可以输出得到3种不同颜色的球的可能排列情况:
```c++
#include <iostream>
using namespace std;
enum Color {RED, YELLOW, BLUE, WHITE, BLACK};
int main() {
int count = 0; // 记录符合条件的排列个数
for (int i = RED; i <= BLACK; i++) {
for (int j = i + 1; j <= BLACK; j++) {
for (int k = j + 1; k <= BLACK; k++) {
if (i != j && i != k && j != k) { // 只有当三个球的颜色都不相同时才输出
count++;
cout << count << ": ";
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;
}
switch (j) {
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;
}
switch (k) {
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;
}
cout << endl;
}
}
}
}
return 0;
}
```
如果要输出得到3种不同颜色的球的可能组合情况,可以使用组合数学的知识,即C(5,3) = 10,即从5个球中取出3个的组合数为10。程序如下:
```c++
#include <iostream>
using namespace std;
enum Color {RED, YELLOW, BLUE, WHITE, BLACK};
int main() {
int count = 0; // 记录符合条件的组合个数
for (int i = RED; i <= WHITE; i++) {
for (int j = i + 1; j <= BLACK; j++) {
for (int k = j + 1; k <= BLACK; k++) {
count++;
cout << count << ": ";
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;
}
switch (j) {
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;
}
switch (k) {
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;
}
cout << endl;
}
}
}
return 0;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)