C语言程序实现随机抽样功能_c语言随机操作
#include <stdio.h> // 包含标准输入输出库,用于打印函数printf
#include <stdlib.h> // 包含标准库,用于随机数生成函数rand和srand
#include <time.h> // 包含时间库,用于获取当前时间
// 函数声明,声明了一个名为getRandomIndex的函数,它接受一个整型参数n,并返回一个整型值
int getRandomIndex(int n);
int main() {
// 初始化随机数种子,使用当前时间作为种子,确保每次程序运行时都能得到不同的随机数序列
srand(time(NULL));
// 示例数组,包含10个整数元素
int numbers[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// 计算数组长度,通过数组的总大小除以单个元素的大小得到
int n = sizeof(numbers) / sizeof(numbers[0]);
// 调用函数getRandomIndex,传递数组长度n作为参数,获取一个随机索引
int randomIndex = getRandomIndex(n);
// 打印出随机选中的数组元素
printf("Randomly selected number: %d\n", numbers[randomIndex]);
return 0; // 程序正常结束
}
// 定义getRandomIndex函数,用于生成一个在[0, n-1]范围内的随机索引
int getRandomIndex(int n) {
// 检查输入参数n是否有效,n必须大于0
if (n <= 0) {
// 如果n不大于0,打印错误信息
printf("Invalid input: n must be greater than 0\n");
// 使用exit函数退出程序,参数1表示程序异常退出
exit(1);
}
// 生成随机索引,使用rand函数生成一个随机数,然后通过取模操作限制在[0, n-1]范围内
// rand()函数生成的是一个0到RAND_MAX之间的随机数,通过%n操作可以得到一个0到n-1之间的随机数
return rand() % n;
}