产生不重复随机数

来源:互联网 发布:知秋小说猛兽 编辑:程序博客网 时间:2024/04/29 08:14

1.创建1个长度为100的int数组作为容器,存放1-100,1个结果容器,1个标记量

2.调用随机函数得到N,用N当做数组的下标

3.通过下标取到对应的值判断是否有效,若有效,则进行赋值,结束后把该为上得值置为无效.若 下标对应容器上的值无效,则回滚1次,继续随机


#include <stdio.h>#include <stdlib.h>void randomMethods(){    /*  定义 随机数存放的容器, 结果容器  标记量*/    int _Number[100]={0},_Num[20]={0},N=0;    for (int i=1; i<101; i++) {        _Number[i]=i;               //将元素放如容器   1-100    }    for (int i=0; i<20; i++) {        N=arc4random()%100;          //下标 这里的是Objective-C的随机方法        _Number[N]!=0? _Num[i]=_Number[N],_Number[N]=0   :  i--; //通过随机的下标来取数字,确保1-100随机不重复    }    for (int i=0; i<20; i++) {        printf("_Num[%d]=%d \n",i,_Num[i]);    }}

0 0
原创粉丝点击