发布网友 发布时间:2022-04-23 17:53
共2个回答
热心网友 时间:2023-07-19 21:09
最简单的方法是定义一个boolean 数组a[n],默认值为false(表示没被抽走),然后产生随机数rd=rand()/(n-1)
,之后查看数组中的值,并计数,比如用i计数,当元素中值为false,则i++,然后查看下一个,如果为true,只看下一个不计数,知道i=rd,把此时查看的元素值改为,true(防止第二次被抽到),并记录在数组中的索引号,这个就是你抽到得签,至于什么意思,你自己定义。。。。。当然当你计数到数组末尾,记得掉到开头数。。。
热心网友 时间:2023-07-19 21:10
#include<time.h>
开设一个数组存放已抽到的签
用srand根据当前时间选取随机数种子: srand((unsigned int)time(NULL));
循环:
用随机数产生抽到的签,最大max,最小min: rand()%max+min
查看是否得到的签与数组中已抽到的签相同,如相同则重做上一步