| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 513 人关注过本帖
标题:请教一个随机数问题。
只看楼主 加入收藏
zch007
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-18
收藏
 问题点数:0 回复次数:1 
请教一个随机数问题。


#include <stdlib.h>
#include <stdio.h>
#include <time.h>


double rnd[10];

void randomize1()
{int i;
srand( (unsigned)time( NULL ) );
for(i=0;i<10;i++){
rnd[i]=rand()%101/100.0;
printf(" %f\n",rnd[i]);
}

}

void main()
{double b[2][10];
int i,j;

for (i=0;i<2;i++) {
randomize1();
for(j=0;j<10;j++)
b[i][j]=rnd[j];
}
for (i=0;i<2;i++){
for(j=0;j<10;j++)
printf("%f ",b[i][j]);
printf("\n");
}

}
我想让b[][]的每一个元素都是随机数,但我这样编只是一行中的各个元素不一样,两行的元素一样。
可见两次调用randomize1(),是一样的值。当然,我可以定义rnd[20],(一次产生20个随机值)解决这一个问题。
我想问的是怎么在现有的基础上,让我在main里面每次调用randomize1()都是一组新的10个值。

搜索更多相关主题的帖子: 随机数 
2005-12-19 20:01
zch007
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-18
收藏
得分:0 
知道了,srand( (unsigned)time( NULL ) );的位置错了
2005-12-19 21:55
快速回复:请教一个随机数问题。
数据加载中...
 
   



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

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