用c语言写一个程序:口袋中有红、黄、蓝、白、黑5种颜色的球若干个。每次从口袋中先后取出3个球,求得到3种不同颜色的球的可能取法,输出每种排列的情况
时间: 2023-12-03 07:46:19 浏览: 209
五种不同色小球中选三种不同色小球的选法
4星 · 用户满意度95%
以下是用C语言编写的程序,实现从口袋中取出红、黄、蓝、白、黑五种颜色的球,每次取出3个球,求得到3种不同颜色的球的可能取法,并输出每种排列的情况:
```c
#include <stdio.h>
int main() {
char colors[] = {'红', '黄', '蓝', '白', '黑'};
int count[5] = {0};
int i, j, k, sum = 0;
// 输入球的数量
for (i = 0; i < 5; i++) {
printf("请输入%s颜色的球的数量: ", &colors[i]);
scanf("%d", &count[i]);
sum += count[i];
}
// 判断是否有足够的球
if (sum < 3) {
printf("口袋中的球不足3个!\n");
return 0;
}
// 遍历所有可能的组合
for (i = 0; i < 5; i++) {
for (j = i + 1; j < 5; j++) {
for (k = j + 1; k < 5; k++) {
if (count[i] > 0 && count[j] > 0 && count[k] > 0) {
printf("%c%c%c\n", colors[i], colors[j], colors[k]);
}
}
}
}
return 0;
}
```
运行程序后,输入口袋中红、黄、蓝、白、黑五种颜色球的数量,程序会输出所有能够取出3个不同颜色的球的排列情况。例如,输入红色球有2个,黄色球有3个,蓝色球有4个,白色球有1个,黑色球有2个,则程序输出如下结果:
```
请输入红颜色的球的数量: 2
请输入黄颜色的球的数量: 3
请输入蓝颜色的球的数量: 4
请输入白颜色的球的数量: 1
请输入黑颜色的球的数量: 2
蓝黄红
蓝白黄
蓝白红
蓝黑黄
蓝黑红
黄白红
黄黑红
```
阅读全文