用c语言写一个程序:口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,求得到3种不同颜色的球的可能取法,输出每种排列的情况
时间: 2023-12-03 09:46:20 浏览: 38
以下是用C语言实现口袋中有红、黄、蓝、白、黑5种颜色的球若干个,每次从口袋中先后取出3个球,求得到3种不同颜色的球的可能取法,并输出每种排列的情况的程序:
```c
#include <stdio.h>
int main() {
char colors[] = {'红', '黄', '蓝', '白', '黑'};
int counts[] = {0, 0, 0, 0, 0};
int i, j, k;
int count = 0;
// 输入每种颜色的球数量
for (i = 0; i < 5; i++) {
printf("请输入%s球的数量:", &colors[i]);
scanf("%d", &counts[i]);
}
// 输出所有可能的排列
for (i = 0; i < 5; i++) {
for (j = i+1; j < 5; j++) {
for (k = j+1; k < 5; k++) {
if (counts[i] > 0 && counts[j] > 0 && counts[k] > 0) {
printf("%d、%c%c%c\n", ++count, colors[i], colors[j], colors[k]);
}
}
}
}
return 0;
}
```
运行程序后,依次输入红、黄、蓝、白、黑球的数量,例如:
```
请输入红球的数量:3
请输入黄球的数量:2
请输入蓝球的数量:1
请输入白球的数量:4
请输入黑球的数量:2
```
程序会输出所有可能的排列,例如:
```
1、红黄蓝
2、红黄白
3、红黄黑
4、红蓝白
5、红蓝黑
6、红白黑
7、黄蓝白
8、黄蓝黑
9、黄白黑
10、蓝白黑
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![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)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)