想在c语言中随机产生1或2该怎么做?
#include
#include
#include
int main()
{
srand((unsigned int)time(0));
int a[20];
for(int i = 0; i < 20; i++)
{
a[i] = rand()%100 + 1;
printf("%d
", a[i]);
}
return 0;
}
方法一:
1、功能:
产生0到1之间均匀分布的一个随机数
2、方法说明:
设m=216,产生产生0到1之间均匀分布的一个随机数的计算公式如下:
ri=mod(2053ri-1 +13849,m),i=1,2,3……
pi =ri/m
例:连续产生10个0到1之间均匀分布的一个随机数 。r的初值取5.0
#include "stdio.h" double rnd1(double *r) { int m; double s,u,v,p; s=65536.0; u=2053.0; v=13849.0; m=(int)(*r/s); *r=*r-m*s; *r=u*(*r)+v; m=(int)(*r/s); *r=*r-m*s; p=*r/s; return(p); } main() { int i; double r; r=5.0; printf("
"); for (i=0; i<=9; i++) printf("%10.7lf
",rnd1(&r)); printf("
"); getch(); }方法二:
float b=rand()/(RAND_MAX+1.0);
printf("%f
",b);注释:stdlib.h头文件中有宏#define RAND_MAX 0x7fff rand()产生一个0到0x7ffff即0到32767之间的随机数 rand()/(RAND_MAX+1.0)就等于一个0到1之间的小数了,因为rand()最大是32767最小是0,再除以32768就是一个0到1之间的小数(不能等于1),再乘以10就是一个0到10之间的数了(不等于10).最后再加1,就成了一个求1到10之间随机数的式子了.
在文件头加上
include <stdlib.h>
代码解释如下:
首先是用随机数函数生成随机数,模2之后生成的随机数是0或者1,++操作之后就是1或者2了,希望对你有用,望采纳~
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i;
for(i=0;i<10;i++)
{
int t =time(NULL);
int s = (t*i*12345679)%23546;
srand(s);
printf("%d \n",(rand()%2)+1);
}
return 0;
}
这个方法即使你是连续获得也不会有问题!主要是对随机种子要处理下使得每次的时间种子差别要大一点!
http://baike.baidu.com/view/876758.htm 这个是rand()的使用方法
唉!我不容易啊专门为你写了个程序还找了资料!望采纳呀!给分呀!
#incllude<stdlib.h>
#include<time.h>
int GetRand()
{
srand(time(NULL));
return rand()%2;
}
......
简单随机数标准求法。
k = (rang()%2)+1;就行了
c语言中怎样生成随机数?
在C语言中,可以使用stdlib库中的rand函数生成随机数。详细解释如下:一、rand函数的基本用法 C语言中的rand函数可以生成一个伪随机数。这个函数返回一个在0到RAND_MAX之间的整数,其中RAND_MAX是一个在stdlib库中定义的常数,通常是一个相当大的数。使用rand函数的基本语法是:`rand`,调用这个函数会返...
如何用C语言实现随机生成一个整数?
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:for (int i = 0; i < 10; i++)printf("%d ", rand() % 100 +1);3、编译器运行test.cpp文件,此时成功通过rand产生了10个1-100内的整数。
c语言随机数怎么生成
在实际编程中,我们经常需要生成随机数。在c语言中我们通常使用rand方法生成随机数,在调用rand前需要调用srand初始化随机数种子。电脑:华为MateBook14 系统:Windows10 软件:notepad++等编辑器、gcc编译器1.0 1、使用rand函数生成随机数,rand随机生成一个位于0~RAND_MAX之间的整数。如下图中,我们直接...
C语言中怎样生成随机数?
C语言中生成随机数主要依赖于`srand()`和`rand()`这两个函数。`srand()`函数的作用是设定随机数生成的基数,通常需要一个动态变化的种子值,以确保每次产生的随机数不同。如果不使用`srand()`,只依赖`rand()`,虽然简单,但随机数的生成将受到初始种子值的限制,可能产生固定的序列。例如,如果你...
C语言怎样产生一定范围的随机数?
解释如下:使用rand函数产生随机数 C语言中的rand函数可以生成一个伪随机数。这个数通常是一个较大的整数,每次调用rand都会生成一个新的随机数。为了在一个特定范围内生成随机数,可以将rand的结果与所需的范围进行某种运算,比如取模操作。这样,生成的值就会被限制在一定的范围内。使用srand函数设置...
C语言中生成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语言怎样产生一定范围的随机数?
在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,可以称它为种子。为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数。C语言产生一定范围的随机数的源代码如下:include<stdio.h> include...
c语言如何实现随机数字的产生
1.C语言提供了一些库函数来实现随机数的产生。C语言中有三个通用的随机数发生器,分别为 rand函数,random函数,randomize 函数 2.但是rand函数产生的并不是真意正义上的随机数,是一个伪随机数,是根据一个数,称之为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态...
c语言产生随机数的函数
在c语言中要产生随机数可以用rand函数。默认情况下这个函数产生的随机整数的范围是[0,RAND_MAX]。RAND_MAX是一个预定义的宏,其值等于平台上int类型的最大值。可以使用如下公式来产生一个[min,max]之间的随机整数:rand()%(max-min+1)+min 下面这个例子可以产生10个[1,100]的随机数,并输出了...
c语言,如何产生随机数?
\\x0d\\x0a\\x0d\\x0aC++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。生成随机数时需要我们指定一个种子,如果在程序内循环,那么下一次生成随机数时调用上一次的结果作为种子。但如果分两次执行程序,那么由于种子相同,生成的“随机数”也是相同...
戏毛清胃: int i = ++(rand()%2);在文件头加上 include <stdlib.h> 代码解释如下:首先是用随机数函数生成随机数,模2之后生成的随机数是0或者1,++操作之后就是1或者2了,希望对你有用,望采纳~
花山区19651035553: c语言中如何随机生成一个 1 到 2千万 的数 - ?
戏毛清胃: 1 C语言产生随机数函数.rand(); 头文件为stdlib.h 2 产生[m,n]范围内随机数的语句: rand()%(n-m+1)+m 3 要产生不同随机数范围的方法: 将已获取的随机数保存下来,在产生新的随机数后,与已获取到的进行比较,如果存在则抛弃,否则...
花山区19651035553: C语言中怎样生成随机数? - ?
戏毛清胃: 在VC中设计到随机数有两个函数 srand() and rand() srand() 的作用是是一个种子,提供每次获得随机数的基数而已,rand()根据种子而产生随机数 注意1:srand() 里的值必须是动态变化的,否则得到的随机数就是一个固定数2:其实可以不用写srand() ,只用rand()就可以了,省事,简单,例子如下 如果我们想得到一个 0-60的随机数那么可以写成 int i; i=rand()%60; 就可以了.当然最好有个统一的标注如下:int i; srand((unsigned)time( NULL )); i=rand()%60; 这样就OK了.
花山区19651035553: c语言如何产生在一定范围内的随机数 - ?
戏毛清胃: //---------------------------------------------------------------------------#include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) {int a;int t=10,d=100;srand(time(NULL)); /*初始化随机数种子*/ a=rand()%(d-t)+t; /*生成一个[t,d)区间内的整数*/...
花山区19651035553: 如何在C语言中生成一定范围内的随机数? - ?
戏毛清胃: srand((int)time(NULL));设定随机数种子 rand()%100;产生0-99的随机数. 高级点的,假如要产生16-59之间的数,你可以这样写:rand()%44+16(这里44由59-16+1得到).其他情况如法炮制!C语言中用rand()函数产生20-90的随机整数 20-90共有71个数字,所以是rand()%71+20 ; 用rand()生成-20-20的随机数 -20-20共有41个数字,所以是rand()%41-20; 需要注意的是,在运行以上代码之前最好设定一下: srand(time(NULL));//用系统当前时间设置rand()随机序列种子,保证每次运行随机序列不一样
花山区19651035553: c语言怎样产生两个不同的随机数 - ?
戏毛清胃: randomize();//放在random(x);的前面使产生的整数不会重复 random(x);//x为正整数,随机产生0到x之间的1个整数 用这2个函数哈~它们包含在头文件《stdlib.h》中 比如: randomize(); a=random(100); 这样就产生了一个0到100之间的随机数a,而且每次都不会重复
花山区19651035553: C语言产生随机数 - ?
戏毛清胃: bool randNum(int total, int size) {int* pRandArray;int index;int nSum = 0;if (total < size)return false; //不可能完成的任务pRandArray = (int*) malloc(sizeof(int) * size);for(index = 0; index + 1 < size; index++){int nPosLeft = size - (index + 1); ...
花山区19651035553: 怎样用c语言取一个随机数 - ?
戏毛清胃: 具体代码如下: #include <stdio.h> #include <stdlib.h> #include <time.h> //用到了time函数 int main() { int i,number; srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样 for (i=0; i<50; i++) { number = rand() % 101; //产生0-100的...
花山区19651035553: 怎样 在c语言中随机的输出1 - 53这几个数? - ?
戏毛清胃: 需要对获取过的随机数保存记录,在每获取一个新的随机数时,先判断是否获取过.如果获取过,那么抛弃;否则输出,并保存记录.当全部数据均输出后结束程序.代码如下:int main() { int f[54]={0}; int n; int i; srand(time(NULL)); for(i = 0; i < 53; i ++) { n = rand()%53+1; if(f[n])i--; else { printf("%d,",n); f[n] = 1; }} }
花山区19651035553: 能帮忙写一个c语言的程序,随机生成两个数进行加减乘除运算. - ?
戏毛清胃: //小学生四则运算 #include <stdio.h> #include <stdlib.h> #include <time.h>//产生 [a,b] 区间的随机数 #define RANDOM(a,b) (rand()%((b+1)-(a)) + (a))//产生 1-20 的整数,如要改变算术范围,则修改这个宏的参数即可 #define GEN_VALUE() ...