| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 949 人关注过本帖, 1 人收藏
标题:帮看下我的代码 为什么我随机生成的数每次都是一样的(不是数和数之间相同)
只看楼主 加入收藏
kingkino
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-10-18
结帖率:100%
收藏(1)
 问题点数:0 回复次数:6 
帮看下我的代码 为什么我随机生成的数每次都是一样的(不是数和数之间相同)
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
/*随机生成一些数,储存在一个5行4列的二维数组里面,并打印*/
int array[5][4];
int main (void)
{
    int count,count2;
    for (count=0;count<5;count++)
    {
        for (count2=0;count2<4;count2++)
            {
                array[count][count2]= rand ();
                printf("\narray[%d][%d]=%d\n",count,count2,array[count][count2]);
            }
    }
    getch ();
    return 0;
}
搜索更多相关主题的帖子: 随机 count int include 代码 
2008-01-28 21:46
菜鸭
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2007-12-9
收藏
得分:0 
糖炒栗子,现炒现卖
前几天提过类似的问题,论坛上的朋友帮我解决了,现郑重地转诉于您:
srand((unsigned)time(NULL));
加入这行代码,就会随着电脑时间的改变,变化着随机数字。

谈笑声中话天地,清茶浊酒品江湖。
昔日豪杰今安在?中华代有人才出!
2008-01-28 22:52
kingkino
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-10-18
收藏
得分:0 
加上这句话  出来的数字是变化了  可是同一次出来的10的都是一样的......这样不对吧

2008-01-28 23:39
kingkino
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-10-18
收藏
得分:0 
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
/*随机生成一些数,储存在一个5行4列的二维数组里面,并打印*/
int array[5][4];
int main (void)
{
    int count,count2;
    for (count=0;count<5;count++)
    {
        for (count2=0;count2<4;count2++)
            {
                srand((unsigned)time(NULL));
                array[count][count2]= rand ();
                printf("\narray[%d][%d]=%d\n",count,count2,array[count][count2]);
            }
    }
    getch ();
    return 0;
}

2008-01-28 23:39
菜鸭
Rank: 1
等 级:新手上路
帖 子:262
专家分:0
注 册:2007-12-9
收藏
得分:0 
时间种子的地方不对
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
/*随机生成一些数,储存在一个5行4列的二维数组里面,并打印*/
int array[5][4];
int main (void)
{
    int count,count2;
    srand((unsigned)time(NULL));
    for (count=0;count<5;count++)
    {
        for (count2=0;count2<4;count2++)
            {

                array[count][count2]= rand ();
                printf("\narray[%d][%d]=%d\n",count,count2,array[count][count2]);
            }
    }
    getch ();
    return 0;
}



经过测试10次,可以正确运行。

谈笑声中话天地,清茶浊酒品江湖。
昔日豪杰今安在?中华代有人才出!
2008-01-28 23:54
kingkino
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-10-18
收藏
得分:0 
我刚试验下 是可以的  不过我想问下
srand((unsigned)time(NULL));  啥意思?

2008-01-29 20:36
kingkino
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-10-18
收藏
得分:0 
百度 上 收到了
"函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。函数rand()会返回一个处于0和你所指定的数值(缺省为1)之间的分数。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用srand()会导致相同的随机数序列被生成"
0和你所指定的数值(缺省为1)之间的分数?  怎么理解?

2008-01-29 20:42
快速回复:帮看下我的代码 为什么我随机生成的数每次都是一样的(不是数和数之间相 ...
数据加载中...
 
   



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

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