首页 > 编程语言 >编写一个函数接受这些参数:内含int类型元素的数组名,数组的大小和一个代表选取次数的值。该函数从数组中随机指定数量的元素,并打印他们。 每个元素只能选择一次(模拟抽奖数字或挑选陪审团成员)。另外,如果

编写一个函数接受这些参数:内含int类型元素的数组名,数组的大小和一个代表选取次数的值。该函数从数组中随机指定数量的元素,并打印他们。 每个元素只能选择一次(模拟抽奖数字或挑选陪审团成员)。另外,如果

时间:2024-08-08 23:27:39浏览次数:16  
标签:arr 函数 int 元素 numSelections 数组 size

/编写一个函数接受这些参数:内含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

相关文章

  • einsum 函数
    einsum是Einsteinsummation的缩写,即爱因斯坦求和约定。einsum函数源自NumPy,后来在PyTorch等其他科学计算库中也得到了实现。它是一种强大而灵活的函数,可以用来处理各种张量运算,如矩阵乘法、转置、批量点积、内积、外积等。爱因斯坦求和约定(EinsteinSummationConvent......
  • Python和AI库NumPy(二):数组创建与操作的深入探索
    目录1.数组创建1.1基本数组创建1.2使用内置函数创建数组1.3特殊数组的创建2.数组的基本操作2.1数组属性2.2数组索引和切片2.3数组的形状操作2.4数组拼接与分割3.数组的数学操作3.1基本算术操作3.2广播机制3.3线性代数运算4.高级数组操作4.1花式......
  • 函数式编程-Stream流
    一、函数式编程-Stream流1、概述1.1为什么学?能够看懂公司里的代码大数量下处理集合效率高代码可读性高消灭嵌套地狱普通写法与函数式编程写法对比:普通写法//查询未成年作家的评分在70以上的书籍由于洋流影响所以作家和书籍可能出现重复,需要进行去重List<B......
  • C语言学习笔记 Day8(函数)
    Day8 内容梳理:目录Chapter6 函数6.0概述6.1 定义函数6.2 调用函数(1)实参&形参(2)调用无参函数(3)调用有参函数6.3 声明函数6.4 终止函数(exit&return)6.5多文件编程(1)设置主文件(2)创建头文件(3)导入头文件Chapter6 函数6.0概述函数的分类(2种):   ......
  • 教你领悟函数递归的本质
    一、何为递归①在C语言中,递归就是函数自己调用自己。递是指递推,归是指回归。②递归的思想:将复杂的问题简单化。③递推的两个必要条件。a:递归存在限制条件,当满足限制条件时,递归便不再继续b:每一次递归都要越来越接近限制条件/*用递归的方式求n!(n>=0)*/intFact(i......
  • FreeRTOS启动任务调度器函数解释
    目录vTaskStartScheduler()函数xPortStartScheduler()函数prvStartFirstTask()函数vPortSVCHandler()函数FreeRTOS的任务开始运行的前提是调用了启动调度器函数vTaskStartScheduler(),只有调用了该函数任务才会被调度并运行。下面以FreeRTOSv9.0.0版本的源码进行分析FreeRT......
  • C语言--函数
    函数的概述:函数:实现一定功能的,独立的代码模块。函数一定是先定义,后使用使用函数的优势:·我们可以通过函数提供功能给别人使用,也可以使用别人提供的函数,减少代码量               ·借助函数可以减少重复的代码               ·实现结构化(......
  • 轮换挑选图片,补充 es6的对象写法,uniapp使用,class和style,条件渲染,列表渲染,input
    Ⅰ轮换挑选图片【一】方式一<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title><scriptsrc="./js2/vue.js"></script></head><body>......
  • C语言数组练习
    数组作业一维数组练习题题目1键盘录入一组数列,利用冒泡排序将数据由大到小排序#include<stdio.h>intmain(){ intt[100],num,tmp; printf("请输入数字个数:"); scanf("%d",&num); printf("请输入%d个数字:\n",num); for(inti=0;i<num;i++){ sc......
  • C++ 根据层序遍历数组 构造二叉树
    说明该层序遍历数组中空节点会使用-1代替,即该层序遍历数组可以理解为一个完全二叉树代码利用队列实现左右子节点的存储,每次通过获取队列头部元素即为当前头节点,然后在数组中i和i+1对应该头结点下的左右子节点,如果不为-1,那么说明可以入队。structTreeNode{intval;Tree......