.用C语言编写一个函数,随机生成6个数字,分别用于6个抽奖小球,每个小 球的数字不可重复。另外需要提供一个接口函数,可以设置抽奖小球的数字范 书,比如设置范围[0,20],则6个小球数字必须在0-20之内,且6个数字不能重 复。
时间: 2024-06-10 19:09:05 浏览: 82
c语言生成随机数的方法(获得一组不同的随机数)
5星 · 资源好评率100%
以下是用 C 语言编写的随机生成 6 个数字的函数:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 6
void generate_random_numbers(int min, int max, int *numbers)
{
srand(time(NULL)); // 初始化随机数生成器
int i, j;
for (i = 0; i < N; i++)
{
int r = rand() % (max - min + 1) + min; // 生成 min 到 max 之间的随机数
for (j = 0; j < i; j++)
{
if (numbers[j] == r) // 如果已经生成过这个数字,重新生成
{
i--;
break;
}
}
if (j == i) // 如果没有重复的数字,保存到数组中
{
numbers[i] = r;
}
}
}
int main(void)
{
int numbers[N];
generate_random_numbers(0, 20, numbers);
for (int i = 0; i < N; i++)
{
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
```
该函数可以生成 6 个随机数,范围在 [min, max] 之间,且这 6 个数字不可重复。如果你想设置抽奖小球的数字范围,可以调用这个函数,传入 min 和 max 两个参数即可。
例如,如果你想设置范围 [0, 20],则可以这样调用:
```
generate_random_numbers(0, 20, numbers);
```
这样,就可以生成 6 个在 0 到 20 之间的数字,且这 6 个数字不可重复。
阅读全文