c语言写出下面题目,直接写代码,不用解释:用C语言编写一个函数,随机生成6个数字,分别用于6个抽奖小球,每个小 球的数字不可重复。另外需要提供一个接口函数,可以设置抽奖小球的数字范 书,比如设置范围[0,20],则6个小球数字必须在0-20之内,且6个数字不能重 复。
时间: 2023-03-26 07:03:56 浏览: 54
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 6
void set_range(int *range_start, int *range_end) {
printf("请输入抽奖小球的数字范围:\n");
printf("开始:");
scanf("%d", range_start);
printf("结束:");
scanf("%d", range_end);
}
void generate_balls(int *balls, int range_start, int range_end) {
int i, j, num;
srand((unsigned)time(NULL)); // 用时间作为随机数种子
for (i = 0; i < N; i++) {
num = rand() % (range_end - range_start + 1) + range_start; // 生成 [range_start, range_end] 之间的随机数
for (j = 0; j < i; j++) {
if (balls[j] == num) { // 检查是否重复
i--; // 重新生成
break;
}
}
balls[i] = num; // 记录生成的数字
}
}
int main(void) {
int balls[N];
int range_start, range_end;
set_range(&range_start, &range_end);
generate_balls(balls, range_start, range_end);
printf("生成的6个抽奖小球的数字分别是:\n");
for (int i = 0; i < N; i++) {
printf("%d ", balls[i]);
}
printf("\n");
return 0;
}
阅读全文