我想创建一个程序,提示用户生成一定数量的随机数(1到20之间)。然后程序生成(1到40)之间的数字量。生成的数字应该都是唯一的。
我不知道如何让他们制作一个唯一的号码。
答案 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;
}