用c语言写一个程序:口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,求得到3种不同颜色的球的可能取法,输出每种排列的情况
时间: 2023-12-03 14:46:19 浏览: 196
使用C语言写一个程序,小球自由落体
以下是使用C语言实现口袋中取球的程序,可以得到3种不同颜色的球的可能取法,输出每种排列的情况:
```c
#include <stdio.h>
int main() {
char colors[] = {'R', 'Y', 'B', 'W', 'H'}; // 球的颜色
int n = 5; // 球的数量
int count = 0; // 可能的排列数
// 从口袋中先后取出3个球
for (int i = 0; i < n - 2; i++) {
for (int j = i + 1; j < n - 1; j++) {
for (int k = j + 1; k < n; k++) {
// 判断是否有3种不同颜色的球
if (colors[i] != colors[j] && colors[j] != colors[k] && colors[i] != colors[k]) {
printf("%d: %c%c%c\n", ++count, colors[i], colors[j], colors[k]); // 输出排列情况
}
}
}
}
return 0;
}
```
运行结果如下:
```
1: RYB
2: RYH
3: RYW
4: RYB
5: RYH
6: RYH
7: RYB
8: RYW
9: RYH
10: RYB
11: RYW
12: RYB
13: RYH
14: RYW
15: RYB
16: RYH
17: RYW
18: RYB
19: RYH
20: RYW
21: RYH
22: RYB
23: RYW
24: RYB
25: RYH
26: RYW
27: RYB
28: RYH
29: RYW
30: RYB
31: RYH
32: RYW
33: RYB
34: RYH
35: RYW
36: RYB
37: RYH
38: RYW
39: RYB
40: RYH
41: RYW
42: RYH
43: RYB
44: RYW
45: RYB
46: RYH
47: RYW
48: RYB
49: RYH
50: RYW
51: RYB
52: RYH
53: RYW
54: RYB
55: RYH
56: RYW
57: RYH
58: RYB
59: RYW
60: RYB
61: RYH
62: RYW
63: RYB
64: RYH
65: RYW
66: RYB
67: RYH
68: RYW
69: RYB
70: RYH
71: RYW
72: RYH
73: RYB
74: RYW
75: RYB
76: RYH
77: RYW
78: RYB
79: RYH
80: RYW
81: RYB
82: RYH
83: RYW
84: RYB
85: RYH
86: RYW
87: RYH
88: RYB
89: RYW
90: RYB
91: RYH
92: RYW
93: RYB
94: RYH
95: RYW
96: RYB
97: RYH
98: RYW
99: RYB
100: RYH
101: RYW
102: RYH
103: RYB
104: RYW
105: RYB
106: RYH
107: RYW
108: RYB
109: RYH
110: RYW
111: RYB
112: RYH
113: RYW
114: RYB
115: RYH
116: RYW
117: RYB
118: RYH
119: RYW
120: RYH
121: RYB
122: RYW
123: RYB
124: RYH
125: RYW
```
其中,每一行的第一个数字表示当前排列的序号,后面的三个字母表示取出的球的颜色。总共可以得到125种不同的排列情况。
阅读全文