设计一个c语言程序,从3个红球,5个白球,6个黑球中任意取出 8个作为一组,进行输出。在每组中,可以没有黑球k,但必须有红球i和白球j。
时间: 2023-06-02 10:02:30 浏览: 74
C语言程序设计100个简单的经典例子.rar_C语言程序设计100个简单的经典例子
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int red_balls = 3;
int white_balls = 5;
int black_balls = 6;
int chosen_balls[8];
int i, j, k;
srand(time(NULL)); // 设置随机数种子为当前时间
while (1) {
// 随机选择 2 个红球和 2 个白球
for (i = 0; i < 2; i++) {
chosen_balls[i] = rand() % red_balls;
}
for (j = 2; j < 4; j++) {
chosen_balls[j] = red_balls + rand() % white_balls;
}
// 随机选择 4 个球作为剩下的球
for (k = 4; k < 8; k++) {
chosen_balls[k] = red_balls + white_balls + rand() % black_balls;
}
// 如果没有黑球,则重新随机选择
if (chosen_balls[4] >= red_balls + white_balls && chosen_balls[5] >= red_balls + white_balls
&& chosen_balls[6] >= red_balls + white_balls && chosen_balls[7] >= red_balls + white_balls) {
continue;
}
// 输出选择的球
printf("本组选择的球为:");
for (i = 0; i < 8; i++) {
printf("%c ", chosen_balls[i] < red_balls ? 'i' : (chosen_balls[i] < red_balls + white_balls ? 'j' : 'k'));
}
printf("\n");
break; // 结束循环,退出程序
}
return 0;
}
```
阅读全文