C语言线性同余法产生随机数的随机数大于想要的100

怎样用c语言产生一个0到100的随机数_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
怎样用c语言产生一个0到100的随机数
我有更好的答案
rand()函数,头文件stdlib.hnum = rand()%100;
采纳率:50%
rand()%101。
为您推荐:
其他类似问题
随机数的相关知识
换一换
回答问题,赢新手礼包拒绝访问 |
| 百度云加速
请打开cookies.
此网站 () 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(3c7ed2b-ua98).
重新安装浏览器,或使用别的浏览器千里之行 始于足下
欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 4088 人关注过本帖
标题:如何产生大于等于0且小于100的10个不相同的随机数?
来 自:四川南充
等 级:黑侠
帖 子:146
专家分:582
结帖率:100%
&&已结贴√
&&问题点数:20&&回复次数:4&&&
如何产生大于等于0且小于100的10个不相同的随机数?
#include&time.h&
#include&stdio.h&
#include&stdlib.h&
int i,a[10];
srand(time(0));
for(i=0;i&10;i++)
a[i]=rand()%100;
for(i=0;i&10;i++)
printf(&%d\n&,a[i]);
大部分时间都是对的,但有时还是出现了重复的值,怎么解决呢??
附件: 您没有浏览附件的权限,请
搜索更多相关主题的帖子:
来 自:陕西西安
等 级:职业侠客
帖 子:57
专家分:309
看看这篇文章&&/question/.html
我的博客&&.cn/daocaoren020
等 级:业余侠客
帖 子:77
专家分:256
&&得分:10&
反正只有十个数,又不多,你可以在产生一个随即数时,即与已有的数进行对比,如果已经有这个数了,就丢弃这个数,重新再产生一个就行了
#include &stdio.h&
#include &stdlib.h&
#include &time.h&
int num[10];
int find(int keynum);
int main()
&&& int randnum,i;
&&& srand(time(NULL));
&&& while(index&10){
&&&&&&&&randnum = rand()%100;
&&&&&&&&if(find(randnum))
&&&&&&&&&&&&
&&&&&&&&num[index++] =
&&& for(i=0;i&10;i++)
&&&&&&&&printf(&%d &,num[i]);
&&& printf(&\n&);
&&& return 0;
&*找到了返回1,否则返回0
int find(int keynum)
&&& for(i=0;i&=i++){
&&&&&&&&if(num[i] == keynum)
&&&&&&&&&&&&return 1;
&&& return 0;
等 级:论坛游民
帖 子:23
专家分:30
rand()是0-32767随机数rand()%100是对其求余比如1297 和11297 都是97
不过概率比较小 srand(time(0))是以时间作为种子来产生随机数
来 自:四川南充
等 级:黑侠
帖 子:146
专家分:582
我明白了,谢谢了!
版权所有,并保留所有权利。
Powered by , Processed in 0.185014 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved相关文章推荐
C语言生成随机数
rand()函数是产生随机数的一个随机函数:
int rand(void);
rand()返回值为一随机数值,范围在...
C语言中可以通过rand函数生成满足均匀分布的随机数,但是生成满足正太分布的随机数就没有那么简单了,下面对常用的几种方法进行总结并用C++编程实现。
方法一:由均匀分布的随机数来产生
随机数,也就是在不同的时刻产生不同的数值。在UNIX操作系统和window的操作系统上,我们知道有一个函数rand,它就是用来产生随机数的函数API接口,那么它的原理如何实现?
如果约定a1=f(s...
通过这篇短文想说明两个道理:
1. 看似高大上、神秘兮兮的算法,都是paper tiger;
2. 计算机的计算方式(动辄几Ghz的主频)简直就是为蒙特卡洛度身定做;...
他的最新文章
讲师:董晓杰
讲师:姚远
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)18:21 提问
c语言如何在短时间内产生大量的随机数
如果是以时间作为随机种子的话,短时间内产生的都是一样的,或者有一定的规律。如果想要产生没有规律的数字,应该用什么作为种子?
按时间排序
在非常短的时间内,时间有可能是一样的(即使到毫秒),用guid+时间 试试。
可是尝试一下rand函数
系统提供了两个函数用于产生随机数:srand()和rand()。 原型为:
函数一:int rand(void);
返回一个[0,RAND_MAX]间的随机整数。
函数二:void srand(unsigned seed);
参数seed是srand()的种子,用来初始化srand()的起始值。srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用 rand()会导致相同的随机数序列被生成。
其他相关推荐

我要回帖

更多关于 线性同余法产生随机数 的文章

 

随机推荐