如何为c创建随机数生成器

时间:2013-12-30 02:14:41

标签: c random unique

我想创建一个程序,提示用户生成一定数量的随机数(1到20之间)。然后程序生成(1到40)之间的数字量。生成的数字应该都是唯一的。

我不知道如何让他们制作一个唯一的号码。

1 个答案:

答案 0 :(得分:3)

如果你想在每次运行程序时生成唯一的随机数,那么试试这个;

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <time.h>

int main(void)
{
    int n, num;
    printf("Enter the amount of numbers to generate");
    scanf("%d", &n);
    bool temp[40];
    srand((unsigned)(time(NULL)));

    for (int i=0; i<n+1; i++){
        temp[i] = false;
    }

    for (int i=0; i<n;)
    {
        num = 1 + rand()%40;
        if(temp[num] == false)
        {
            printf("%d\n", num);
            temp[num] = true;
            i++;
        }

    }
    return 0;
}