c语言随机排列n个元素
时间: 2024-05-01 11:17:59 浏览: 45
随机数排序C语言
要随机排列n个元素,可以使用数组存储这些元素,并且使用随机数来随机选择数组中的位置交换元素,代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void random_permutation(int arr[], int n) {
srand(time(NULL)); // 初始化随机数种子
for (int i = n - 1; i > 0; i--) {
int j = rand() % (i + 1); // 随机选择一个位置 j
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp; // 交换元素
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
random_permutation(arr, n);
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这段代码可以随机排列数组 {1, 2, 3, 4, 5},输出结果可能是 5 1 2 3 4 或者 2 5 1 4 3 等等。
阅读全文