上一篇
c语言怎么产生不重复的随机数
- 行业动态
- 2024-03-30
- 1
在C语言中,可以使用以下方法产生不重复的随机数:
1、使用时间作为种子:
获取当前时间(以秒为单位)。
将当前时间转换为整数。
使用该整数作为随机数生成器的种子。
2、使用随机数生成器生成随机数:
包含头文件<stdlib.h>和<time.h>。
使用srand()函数设置种子。
使用rand()函数生成随机数。
以下是一个简单的示例代码:
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { // 获取当前时间作为种子 int seed = time(NULL); srand(seed); // 定义一个数组用于存储生成的随机数 int numbers[10]; int count = 0; // 用于计数已生成的随机数 // 生成不重复的随机数并存储到数组中 while (count < 10) { int random_number = rand(); int is_duplicate = 0; // 标记是否重复的标志位 // 检查生成的随机数是否已经存在数组中 for (int i = 0; i < count; i++) { if (numbers[i] == random_number) { is_duplicate = 1; // 如果已经存在,则标记为重复 break; } } // 如果随机数不存在于数组中,则添加到数组中,并更新计数器和标志位 if (!is_duplicate) { numbers[count] = random_number; count++; } } // 输出生成的不重复随机数 printf("Generated unique random numbers: "); for (int i = 0; i < count; i++) { printf("%d ", numbers[i]); } printf(" "); return 0; }
运行以上代码,将会输出10个不重复的随机数,请注意,由于是使用当前时间作为种子,因此每次运行程序时生成的随机数可能会不同。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/292149.html