/编写一个函数接受这些参数:内含int类型元素的数组名,数组的大小和一个代表选取次数的值。该函数从数组中随机指定数量的元素,并打印他们。
每个元素只能选择一次(模拟抽奖数字或挑选陪审团成员)。另外,如果你的实现有time()或类似的函数,可以在srand()中使用这个函数的输出来初始
化随机数生成器rand()。编写一个简单程序测试该函数/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void selectRandomElements(int arr[], int size, int numSelections) {
srand(time(NULL));
for (int i = size - 1; i >= size - numSelections; i--) {
int j = rand() % (i + 1);
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
printf("Selected elements: ");
for (int i = size - 1; i >= size - numSelections; i--) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int size = sizeof(arr) / sizeof(arr[0]);
int numSelections = 3;
selectRandomElements(arr, size, numSelections);
return 0;
}
标签:arr,函数,int,元素,numSelections,数组,size
From: https://www.cnblogs.com/yesiming/p/18349942