2 baniel01 Baniel01 于 2013.07.29 18:17 提问

C语言中的rand()函数的问题

代码如下,为什么a总是输出0,而b却能正常输出?rand()的返回值不是在0~RAND_MAX之间的整数吗?

#include <stdlib.h>

#include

int main (void)
{
int a;
int b;
int i;

for (i=0;i<5;i++)
{
    a=10*rand()/RAND_MAX;
    printf ("a=%d\n",a);
}
for (i=0;i<5;i++)
{
    b=10.0*rand()/RAND_MAX;
    printf ("b=%d\n",b);
}

}

1个回答

zhengfuzhe1124
zhengfuzhe1124   2013.07.29 22:20
已采纳

rand()%RAND_MAX 得到的才是0~RANDMAX之间的整数

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C语言中的rand函数和srand函数
C语言中的rand函数和srand函数:只能产生伪随机数,最多也只是提高模拟的程度而已,rand函数内部管理着一个计数单位,程序每调用一次,它就根据这个计数单位和对应的srand产生种子的值,经过一系列的运算,得到随机值,其实就相当于你传了2个参数给rand(),比如是x是计数器的值,y是srand的值,那么:rand() = x*2 + y ,举个简单的例子,实际可能比这个关系式要复杂对于给定的
c语言中的rand和srand
rand和srand包含在头文件中的&amp;lt;stdlib.h&amp;gt;(c++中使用&amp;lt;cstdlib&amp;gt;)中,rand和srand用于产生随机数。如:#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;int main(){ for (int i = 0; i &amp;lt; 10; i++) { printf(&quot;%d\t&quot;, rand()); }}将...
C语言rand()与srand()的简单实现
C语言rand()与srand()的简单实现函数rand()与srand()的说明rand()函数概述#include <stdlib.h> int rand(void)说明函数rand计算一个伪随机整数序列,它们的范围在0到RAND_MAX之间。实现的行为不受rand函数的影响。返回值函数rand返回一个伪随机整数。环境限制宏RAND_MAX的值至少应该为32767。srand()函数概述#in
c语言中rand()函数的用法笔记
最近在学着用c写一些小程序,过程中遇到很多问题,在网上查很多大神的讲解,以及查阅vs2010的帮助文档。在此做个笔记,以便今后查阅,备忘。感谢无私奉献讲解的大神们! 一、rand() rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。 rand()会返回一个范围在0到RAND_MAX(32767)之间
C语言(rand函数)
C语言(rand函数)(2006-09-24 20:41:59)转载    <br />srand()就是给rand()提供种子seed<br />1,先看一个例子<br />#include <iostream><br />#include <stdlib.h><br />#include <time.h><br />using namespace std;<br />int main( void )<br />{<br />int i;<br />/* Seed the random-number
【编程开发】C语言中随机数rand使用注意事项
【编程开发】C语言中随机数rand使用注意事项标签: 【编程开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/说明:随机数在编程开发中非常重要,以C语言中的rand函数为例,使用时需要注意随机数的随机体现在哪里,比如是程序在不同的时刻执行时,相同位置的随机数是否需要一样,还是要每次执行生成的随机数也要不一样,等等,这些都是需要加以关注的地方。经测试,发现,
C语言中strand() rand() time()函数的简单介绍及获取随机数的方法
rand()函数简介功 能 :伪随机数发生器 所属库:stdlib.h 用 法 :需要先调用srand初始化,一般用当前日历时间初始化随机数种子,这样每行代码都可以产生不同的随机数。 函数原型:int rand(void); 接下来我们写一段代码来获取10个随机数include <stdio.h> include <stdlib.h> int main() { int i; printf("
c语言中rand和srand的用法
C语言学习: rand和srand的用法详解,并通过实例详细介绍。
C语言如何产生一个随机数,rand函数的使用
C语言中用于产生随机数的函数是rand(),下面我用程序说明一下如何在C语言下产生随机数。 示例代码如下: #include #include #include int main(int argc, char **argv) { int a; a = rand()%101; printf("a = %d\n", a); return 0; }
C语言中随机数函数rand的用法
  在编程中我们时不时会遇到一些需要产生一系列随机数的问题,在查找了一系列资料后,我就来分享一下rand函数的用法。  首先,rand函数需要用到头文件stdlib.h和time.h,不同的编译器所需的头文件可能不同,大家需要查找一下。在调用rand函数时,我们需要设置随机数种子,通俗来讲就是一系列自变量的值,不然它的默认值为1,即你产生的随机数都会相等,这时候就要用到srand函数,一般我们只需...