24小时热门版块排行榜    

查看: 1518  |  回复: 13

elevenleo

铁杆木虫 (正式写手)

[求助] 循环多次产生不同的随机数 已有2人参与

哪位大神帮忙用C语言写一小段程序,用于循环多次产生不同的随机数。如果有适当讲解更为感谢!!!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

stayhungry,stayfoolish.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dc523

铜虫 (初入文坛)


jjdg: 金币+1, 感谢参与 2013-12-10 00:53:54
c语言随机数组很简单的吧
2楼2013-12-09 21:53:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

欢乐妞

铜虫 (小有名气)


jjdg: 金币+1, 感谢分享 2013-12-10 00:50:52
恰好我也用到随机数,这是我用c++写的,
头文件要包含
#include<cstdlib>
#include<ctime>
在c语言中包含的头文件去掉c就可以了,即
#include<stdlib.h>
#include<time.h>
srand((unsigned)time(NULL));           //设置随机种子
         rnum=rand()%100;               //产生0~99的随机数
要想产生0~N的随机数,把100改为N就行了
3楼2013-12-09 22:32:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

first_love

银虫 (初入文坛)

这个,不会啊
4楼2013-12-10 10:17:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anyonghui

银虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
获取当前的时间
       时  分  秒,三者进行一定的逻辑运算,得到的就是一个随机数。
      具体算法,自己创一个就可以了
5楼2013-12-10 10:35:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sciencejoy

新虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
C语言里就有啊,干嘛还写?
6楼2013-12-10 11:11:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

elevenleo

铁杆木虫 (正式写手)

引用回帖:
3楼: Originally posted by 欢乐妞 at 2013-12-09 22:32:53
恰好我也用到随机数,这是我用c++写的,
头文件要包含
#include<cstdlib>
#include<ctime>
在c语言中包含的头文件去掉c就可以了,即
#include<stdlib.h>
#include<time.h>
srand((u ...

如果连续重复输入
srand((unsigned)time(NULL));
         rnum1=rand()%100;
srand((unsigned)time(NULL));
         rnum2=rand()%100;
……
得到的rnum1,rnum2……是不一样的吗?
stayhungry,stayfoolish.
7楼2013-12-10 12:22:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

欢乐妞

铜虫 (小有名气)

引用回帖:
7楼: Originally posted by elevenleo at 2013-12-10 12:22:00
如果连续重复输入
srand((unsigned)time(NULL));
         rnum1=rand()%100;
srand((unsigned)time(NULL));
         rnum2=rand()%100;
……
得到的rnum1,rnum2……是不一样的吗?...

是的,不一样的

» 本帖已获得的红花(最新10朵)

8楼2013-12-10 21:48:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libranjie

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
elevenleo: 金币+10, ★★★很有帮助, 谢谢啦!!! 2013-12-11 09:19:58
#include <iostream>
#include <ctime>
using namespace std;
int main(int argc,char *argv[])
{
        unsigned int MAX = atoi(argv[1]);
        unsigned int COUNT = atoi(argv[2]);
        char *ch = (char *)malloc(MAX);
        int i,j,k = 1;
        srand((unsigned)time(NULL));
        for(i=0;i<MAX;++i) {
                ch = '0';
        }
        for(j=0;j<COUNT;++j) {
                while(k) {
                        i = rand()%MAX;
                        if(ch== '0') {
                                ch = '1';
                                k = 0;
                        }
                }
                k = 1;
        }
        for(j=0;j<MAX;++j) {
                if(ch[j]== '1') {
                        cout<<j<<"\n";
                }
        }
        return 0;
}
9楼2013-12-10 22:02:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

elevenleo

铁杆木虫 (正式写手)

送红花一朵
引用回帖:
8楼: Originally posted by 欢乐妞 at 2013-12-10 21:48:05
是的,不一样的...

谢谢喽
stayhungry,stayfoolish.
10楼2013-12-11 09:22:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 elevenleo 的主题更新
信息提示
请填处理意见