| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1816 人关注过本帖
标题:关于随机生成数的问题!!!
只看楼主 加入收藏
zzj_ranbow
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-12-26
结帖率:0
收藏
已结贴  问题点数:20 回复次数:13 
关于随机生成数的问题!!!
我需要用C写一个随机生成数的程序~~~要求生成的数为1--34  无重复~~~然后可以随机需要几个~~请帮忙!
搜索更多相关主题的帖子: 成数 随机 
2009-12-26 19:01
风之上位
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:55
专家分:156
注 册:2009-12-20
收藏
得分:2 
你要的无重复时   每次运行结果不同还是生成的
随机数都不相同?
2009-12-26 20:04
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:2 
#include <stdio.h>

int main(void)
{
    int a[16] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
    int i, j, t;

    for (i = 1; i < 16; i++)
    {
        j = rand() % (15-i+1) + i;
        t = a[i];
        a[i] = a[j];
        a[j] = t;
    }

    for (i = 1; i < 16; i++)
        printf("%d ", a[i]);
    printf("\n");

    return 0;
}


用一个数组先存取 1-34的值, 然后用 随机算法打乱他

我就是真命天子,顺我者生,逆我者死!
2009-12-26 20:04
zzj_rainbow
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2009-12-26
收藏
得分:2 
~~~结果要不一样,或者在生成随机数时也要不一样~~可以麻烦连个都给出来吗
2009-12-26 20:16
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:2 
我的意见:开个长度为 35 的数组,然后赋初值为 0 。之后随机生成 1~34 的数字,当其下标为其值的数组元素为 0 时,可赋值;如相应元素不为 0 ,则再重新生成一个数字。
2009-12-26 21:01
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
回复 5楼 广陵绝唱
那你怎么知道你赋了 34值?  循环计数吗?


[ 本帖最后由 BlueGuy 于 2009-12-26 21:08 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2009-12-26 21:06
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
我是说类似于这样的:


程序代码:
while(n>=0)
{
        tmp=rand()%34+1;
        if(!num[tmp])
        {
                num[tmp]=tmp;
                --n;
        }
}

2009-12-26 21:14
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 6楼 BlueGuy
我理解楼主的意思为:他想要一组数字,不大于 34 个,然后每个数字在 1~34 之间。也可能是我理解有误。
2009-12-26 21:17
zzj_rainbow
Rank: 1
等 级:新手上路
帖 子:3
专家分:3
注 册:2009-12-26
收藏
得分:0 
我就是要一组随机数字~~~不大于34~~~不重复的~~~就这样而已~~帮帮忙
2009-12-27 11:10
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:2 
什么意思?
 
是这样吗:
要一组数字,满足:
1,对于这组数的个数:不具体要求,因此个数也是随机的,但个数不太于34个。
2,对于这组数中的数字:都介于1-34之间,且没有任何数是一样的。至于是1-34中的那个,也没有规定,要是随机出现的。
是这样吗?
2009-12-27 13:42
快速回复:关于随机生成数的问题!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016053 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved