中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c語言如何生成不重復的隨機數

小億
435
2023-08-10 18:38:46
欄目: 編程語言

在C語言中,可以使用以下步驟生成不重復的隨機數:

  1. 引入頭文件 stdlib.htime.h
#include <stdlib.h>
#include <time.h>
  1. 在程序的開始處使用 srand 函數初始化隨機數種子,以確保每次運行程序時生成的隨機數序列是不同的。
srand(time(NULL));
  1. 創建一個數組或鏈表來保存已生成的隨機數。
int generatedNumbers[10];
int count = 0;
  1. 使用 rand 函數生成隨機數,并檢查是否已生成過該數。
int randomNumber;
int isDuplicate;
do {
randomNumber = rand(); // 生成隨機數
isDuplicate = 0; // 默認不重復
for (int i = 0; i < count; i++) {
if (generatedNumbers[i] == randomNumber) {
isDuplicate = 1; // 設置為重復
break;
}
}
} while (isDuplicate);
  1. 將生成的隨機數保存到數組或鏈表中,然后增加計數器。
generatedNumbers[count] = randomNumber;
count++;

完整的示例代碼如下所示:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
srand(time(NULL)); // 初始化隨機數種子
int generatedNumbers[10];
int count = 0;
for (int i = 0; i < 10; i++) {
int randomNumber;
int isDuplicate;
do {
randomNumber = rand(); // 生成隨機數
isDuplicate = 0; // 默認不重復
for (int j = 0; j < count; j++) {
if (generatedNumbers[j] == randomNumber) {
isDuplicate = 1; // 設置為重復
break;
}
}
} while (isDuplicate);
generatedNumbers[count] = randomNumber; // 保存隨機數
count++;
}
printf("生成的不重復隨機數為:\n");
for (int i = 0; i < 10; i++) {
printf("%d\n", generatedNumbers[i]);
}
return 0;
}

此示例代碼將生成10個不重復的隨機數,并將它們逐個打印出來。

0
东乡县| 高要市| 玉树县| 九江县| 沾化县| 乌审旗| 镇原县| 武隆县| 贵定县| 福建省| 连南| 孝昌县| 迁安市| 从江县| 三门县| 钟山县| 永吉县| 遂川县| 汉源县| 唐山市| 敖汉旗| 阜城县| 蚌埠市| 灵璧县| 阿城市| 沁源县| 张家口市| 台东市| 囊谦县| 永德县| 沐川县| 永川市| 嘉兴市| 都兰县| 竹溪县| 梨树县| 安康市| 九江市| 祥云县| 辉南县| 衡南县|