C语言中如何随机产生(1,0,-1)中的一个

如题所述

#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL));
int i = (rand() % 3) - 1;
}
rand() % 3产生0-2之间的随机数,再减一就可以了追问

int -0.9 不是等于0吗,怎么得到-1

追答

你的 int -0.9是什么意思?
rand()产生一个0 - RAND_MAX之间的整数,然后对3取余,得到0 1 2这三个随机数,这三个随机数减1,不就是-1 0 1这三个随机数了吗

追问

我理解错了,谢谢

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-23
第11回 庆寿辰宁府排家宴 见熙凤贾瑞起淫心 第12回 王熙凤毒设相思局 贾天祥正照风月鉴

c语言如何随机取1个0~1之间的数字?
C语言中生成1个0到1的随机数可以执行语句:float b=rand()\/(RAND_MAX+1.0);解析:标准C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。rand()函数没有输入参数,直接通过表达式rand()来引用;用函数rand取得的随机数除以(...

c语言如何产生随机小数的数据?
int main() { float random_num;srand(time(NULL)); \/\/ 以当前时间作为随机数种子 random_num = (float)rand() \/ RAND_MAX; \/\/ 生成0~1之间的随机小数 printf("Random number: %f", random_num);return 0;}

c语言,如何产生随机数
答案:在C语言中,可以使用标准库函数`rand`来产生随机数。这个函数定义在``头文件中。下面是一个简单的例子来说明如何使用它:详细解释:1. 引入必要的头文件:在使用`rand`函数之前,需要包含``头文件,因为该函数是定义在这个头文件中的。c include 2. 使用rand函数生成随机数:`rand`函数返回一...

C语言编程中生成随机数的初级教程
C语言中可以使用rand()函数来生成一个从0到RAND_MAX的uniform分布。基于这个函数,我们可以构造出一些特定的随机数生成器来满足我们的需求。(一)0到1的uniform分布:\/\/generate a random number in the range of [0,1]double uniform_zero_to_one(){ return (double)rand()\/RAND_MAX;} (二...

C语言如何编程产生随机数?
1、首先打开Visual stdio 2019,依次点击文件,新建,项目新建以一个空白的项目:2、新建新项目以后,右键点击左边的源文件,选择添加,点击添加项:3、选择cpp,并将下方的扩展名改为.c,然后点击确定:4、接下来就可以用编译器编译,使用rand()函数产生C语言的随机数,需要加入stdlib.h和time.h在表头...

c语言 产生 -1到1之间的随机数 要怎么写 谢谢
include<stdio.h> include<stdlib.h> include void main(){ float a;srand((unsigned)time(NULL));a=2.0*rand()\/RAND_MAX-1;printf("%f",a);}

c语言生成0到1的随机浮点数
rand函数在C语言中用于生成随机数。其输出范围从0到RAND_MAX,RAND_MAX的值取决于编译器,通常在32767左右。这似乎限制了生成0到1的随机浮点数的方法,特别是当直接除以RAND_MAX可能导致结果过于集中于0附近。然而,使用以下方法可以更有效地生成0到1的随机浮点数:double randomDouble() { return (...

在C语言下实现0—1之间的随机数
随机数周期超长,且分布均匀,采用混洗方法避免重复 include <stdlib.h> include <stdio.h> include <math.h> include <iostream.h> include <iomanip.h> include define IM1 2147483563 define IM2 2147483399 define AM (1.0\/IM1)define IMM1 (IM1-1)define IA1 40014 define IA2 40692 d...

怎样在c语言中实现在0,1 这两个数种随机选取一个。
include include <stdlib.h> ...srand( (unsigned)time(NULL) ); \/\/随便调用一次。int getnum(){ return rand()%2;} 这样不断调用getnum()就会是0、1、0这样不停的随机选择下去。。

如何用c语言取0-1间的随机小数??
可以写一个函数,利用math.h中的rand来产生随机浮点数。include <stdlib.h> include <stdio.h> include <math.h> \/\/ 精度0.001的随机浮点数 float randf(){ return (float)(rand() % 1001) * 0.001f;} main(){ int i;for (i=0; i<100; ++i) printf("%.3f\\n", randf());s...

相似回答