如何生成一定范围内不重复的随机数

 我来答
White_MouseYBZ
2016-03-23 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6656万
展开全部

以C为例,给你提供一种参考:

#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int main(void){
    int s[1000],i,k,l;
    for(i=0;i<1000;s[i++]=rand()%1000+1000);
    srand((unsigned)time(NULL));
    for(l=0,i=1000;i>0;i--){
        printf(++l%10 ? "%5d" : "%5d\n",s[k=rand()%i]);
        s[k]^=s[i-1];
        s[i-1]^=s[k];
        s[k]^=s[i-1];
    }
    if(l%10)
        printf("\n");
    return 0;
}

这个代码能产生1000~1999的“不重复随机数”。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式