#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <vcruntime_string.h>
int* GetRand(int* buf, int count, int range)
{
srand(time(NULL));
memset(buf, -1, sizeof(int) * count);
if (count > range)
{
return buf;
}
for (int i = 0; i < count; i++)
{
LOOP:
int randTmp = rand() % range;
for (int j = i; j >= 0; j--)
{
if (buf[j] == randTmp)
{
goto LOOP;
}
}
buf[i] = randTmp;
}
return buf;
}
#define CNT 30
#define RANGE 100
int main()
{
int* buf = (int*)malloc(sizeof(int) * CNT);
buf = GetRand(buf, CNT, RANGE);
for (int i = 0; i < CNT; i++)
{
printf("%d,", buf[i]);
printf("\n");
}
}
C语言 生成不重复随机数
于 2021-09-14 16:58:21 首次发布