- okok云
-
rand()会返回一随机数值,范围在0至RAND_MAX 间,RAND_MAX的范围最少是在32767之间(int),即双字节(16位数)。若用unsigned int 双字节是65535,四字节是4294967295的整数范围。
0~RAND_MAX每个数字被选中的机率是相同的。rand()%10 取出所得的随机数的个位。
扩展资料:
rand()函数使用延伸
若要生成 a 与 b 之间的随机实数,应使用: RAND()*(b-a)+a
如果要使用函数 RAND 生成一随机数,并且使之不随单元格计算而改变,可以在编辑栏中输入“=RAND()”,保持编辑状态,然后按 F9,将公式永久性地改为随机数。
- wpBeta
-
rand(
)用于产生一个伪随机的无符号整数。
rand()%10表示将产生的随机数对10求余,结果为余数,整体表示产生0到9的随机数。
用rand()
%
10;来生成
0
到
9
之间的随机数这种方法是不可取的,比较好的做法是:
j=(int)(n*rand()/(RAND_MAX+1.0))产生一个0到n之间的随机数
#include
#include
// rand函数所需得到头文件
void main()
{
int i,j;
for(i=0;i<10;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0)); // 产生0到10之间的随机数
printf("%d ",j);
}
}执行以上程序后生成如下序列:
9
4
8
8
10
2
4
8
3
6
9
4
8
8
10
2
4
8
3
6
//再次执行仍然产生相同的随机数
- 马老四
-
rand()会返回一随机数值,范围在0至RAND_MAX 间,RAND_MAX的范围最少是在32767之间(int),即双字节(16位数)。若用unsigned int 双字节是65535,四字节是4294967295的整数范围。
0~RAND_MAX每个数字被选中的机率是相同的。
rand()%10 取出所得的随机数的个位。
你还要在使用rand()之间,用srand()产生随机数种子。
srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。
你的程序改为以下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main(void)
{
int a,b,c,d;
srand((int)time(0));
a=rand()%10,b=rand()%10;
c=a>b?a:b;
d=a<b?a:b;
printf("a=%d,b=%d ",a,b);
printf("c=%d,d=%d ",c,d);
}
这样每次运行结果是不相同的,随机的.
- 小教板
-
#include<stdio.h>
#include<stdlib.h>
#include<time.h>//添加
void main(void)
{
srand(time(NULL));//添加
int a=rand()%10,b=rand()%10,c,d;
c=a>b?a:b;
d=a<b?a:b;
printf("a=%d,b=%d ",a,b);
printf("c=%d,d=%d ",c,d);
}
需要初始化随机数发生器,否则随即的数会是相同的。
- 我不懂运营
-
rand 随即数 后面那个 10 指 随机生成 0-10 之间的数字
- 皮皮
-
rand()函数是返回随机数啊。你多运行几次试试得到的结果就不一样了。