思路很简单

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]);
    }
}


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐