c生成50个不同随机数的方法
时间: 2023-09-05 18:00:39 浏览: 51
生成50个不同的随机数可以使用以下方法:
1. 使用rand()函数:可以通过循环调用rand()函数生成50个随机数,然后将生成的数字存储在一个数组中。为了确保生成的数不重复,生成的新数需要与数组中的已有数进行比较,如果有重复则重新生成一个新数。
2. 使用random()函数:random()函数也是生成随机数的函数,可以与上述方法类似地使用循环和数组来生成并存储50个不同的随机数。
3. 使用C++中的容器类:可以使用C++中的容器类如vector或set来存储生成的随机数。每次生成一个新的随机数,先判断容器中是否已经存在该数,如果不存在则将其加入容器中。
4. 使用洗牌算法:洗牌算法是一种常用的生成随机数的方法。可以将1到50的数字放入一个数组中,然后使用洗牌算法来打乱数组中数字的顺序,最后取出打乱后的数组的前50个数作为不同的随机数。
以上是一些常用的生成50个不同随机数的方法,可以根据实际需求和使用的编程语言选择适合的方法来生成随机数。
相关问题
c语言生成n个不同的随机数代码
可以使用rand()函数生成随机数,并用srand()函数设置随机数的种子。为了保证生成的随机数不重复,可以将生成的随机数存储在一个数组中,并在生成每个随机数时检查数组中是否已经存在该数。
下面是一个生成n个不同的随机数的C语言代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_NUM 100 // 生成随机数的范围
#define MAX_COUNT 10 // 随机数的个数
int main()
{
int nums[MAX_COUNT]; // 存储生成的随机数
int i, j, num;
srand(time(NULL)); // 设置随机数种子(以当前时间为种子)
for (i = 0; i < MAX_COUNT; i++) {
// 生成随机数,并检查是否已经存在于数组中
do {
num = rand() % MAX_NUM + 1;
for (j = 0; j < i; j++) {
if (num == nums[j]) {
break;
}
}
} while (j < i);
nums[i] = num;
}
// 输出生成的随机数
for (i = 0; i < MAX_COUNT; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
运行结果:
```
67 29 71 53 50 92 20 61 85 87
```
请利用C语言生成10个不同的随机数并写入txt文件中
好的,以下是一个简单的示例代码,可以生成10个不同的随机数并将它们写入到名为"random.txt"的文本文件中:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_NUM 100 // 随机数的最大值
#define FILENAME "random.txt" // 文件名
int main()
{
int i, j, num;
int random[10]; // 存储随机数的数组
FILE* fp; // 文件指针
srand(time(NULL)); // 初始化随机数种子
// 生成10个不同的随机数
for (i = 0; i < 10; i++) {
do {
num = rand() % MAX_NUM + 1; // 生成1~MAX_NUM之间的随机数
for (j = 0; j < i; j++) {
if (num == random[j]) // 如果生成的随机数已经存在,则重新生成
break;
}
} while (j < i);
random[i] = num; // 将随机数存入数组
}
// 将随机数写入文件
fp = fopen(FILENAME, "w");
if (fp == NULL) {
printf("无法打开文件 %s\n", FILENAME);
return 1;
}
for (i = 0; i < 10; i++) {
fprintf(fp, "%d\n", random[i]); // 写入文件
}
fclose(fp);
printf("随机数已生成并写入文件 %s\n", FILENAME);
return 0;
}
```
这段代码使用了C语言的标准库函数rand()生成随机数,并利用了time()函数获取当前时间作为随机数种子,以保证每次运行程序生成的随机数序列不同。
在生成随机数的过程中,使用了一个嵌套的循环来确保每个生成的随机数都与前面已经生成的随机数不同。当然,这种方法并不是最优的,如果需要生成大量不同的随机数,可以考虑使用更高效的算法。
最后,利用标准库函数fopen()打开一个名为"random.txt"的文本文件,并利用fprintf()函数将生成的随机数写入到文件中。注意,在写入文件时,每个随机数后面要加上换行符"\n",以便于后续读取文件时的处理。