c语言随机数生成 不重复
时间: 2023-11-07 14:56:53 浏览: 245
c代码-rand那个
可以使用洗牌算法生成不重复的随机数,具体实现可以参考以下代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void shuffle(int *arr, int size) {
srand(time(NULL));
for (int i = size - 1; i >= 1; i--) {
int j = rand() % (i + 1);
int tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
int main() {
int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
shuffle(arr, 10);
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序可以生成0到9不重复的随机数序列,可以根据需要修改数组长度和元素值范围。
阅读全文