写一个C语言的程序,从100万个数中抽取2万个不同的数
时间: 2024-03-06 14:47:22 浏览: 59
以下是一个简单的 C 语言程序,可以帮助你从100万个数中随机抽取2万个不同的数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define TOTAL_NUMS 1000000
#define SELECTED_NUMS 20000
int main() {
int selected[SELECTED_NUMS];
srand(time(NULL)); // 设置随机种子
int count = 0;
while (count < SELECTED_NUMS) {
int r = rand() % TOTAL_NUMS + 1; // 生成一个随机数
int duplicate = 0;
// 检查随机数是否已经被选中
for (int i = 0; i < count; i++) {
if (selected[i] == r) {
duplicate = 1;
break;
}
}
if (!duplicate) {
selected[count] = r;
count++;
}
}
// 输出结果
printf("Selected numbers: ");
for (int i = 0; i < SELECTED_NUMS; i++) {
printf("%d ", selected[i]);
}
return 0;
}
```
这个程序使用了 `rand()` 函数来生成随机数,然后把这些随机数存储在一个数组中,同时检查是否有重复的数。如果有重复的数,则重新生成一个随机数。最后输出结果。
阅读全文