ZKX's LAB

excel随机生成范围内数字,不重复 随机生成不重复数字

2021-04-26知识3

C语言如何产生不重复的随机数 主要是C默认是生成假随机数;可加一个宏定义,randomize可让以后使用的随机数都是真随机数代码如下:includeincludeincludedefine randomize()srand((unsigned)time(NULL))main(){int a[52]={302,303,304,305,306,307,308,309,310,311,312,313,314402,403,404,405,406,407,408,409,410,411,412,413,414502,503,504,505,506,507,508,509,510,511,512,513,514602,603,604,605,606,607,608,609,610,611,612,613,614};int i[52]={0},j,k,p;randomize();do{do{p=0;j=a[(int)(rand()/(RAND_MAX+1.)*52)];for(k=0;i[k]。0;k+){if(i[k]=j){p=1;break;}}}while(p=1);i[k]=j;printf(\"%d\\n\",j);getchar();}while(k);}

怎样把随机生成的数字重复的去掉 并把不重复的数字放到一个数组里 一、算法分析:1、生成随机数可以使用库函数rand();2、将生成的随机数保存在数组中;3、在每次生成新的随机数时,遍历已经存在的随机数,如果重复则放弃,重新生成。二、参考代码:以生成10个0~99之间的不重复随机数为例,代码如下:includeincludeincludeint main(){int a[10],n=0,t,i;srand(time(NULL));随机数种子设置。while(n){t=rand()%100;生成一个0到99之间的随机数。for(i=0;i;i+)/查重。if(t=a[i])break;如果重复,则提前退出。if(i=n)/没有提前退出,说明不是重复的。a[n+]=t;加入到随机数数组中。}for(i=0;i;i+)printf(\"%d\",a[i]);输出结果。return 0;}三、注意事项:1、必须设置随机数种子,一般使用当前时间(time(NULL)),否则会造成每次程序运行获得的随机数序列相同。2、需要引用头文件stdlib.h(为rand和srand函数)以及time.h(为time函数)。

Excel如何在数据范围生成多个随机不重复的数字,我们生成多个随机的不重复数,可以实现通过随机生成的数字做分组用。生成简单的随机数很简单,但是要生成不重复的随机数相对。

随机阅读

qrcode
访问手机版