c语言中生成某一范围的随机数

C语言中用rand()函数产生20-90的随机整数

20-90共有71个数字,所以是rand()%71+20 ;

用rand()生成-20-20的随机数

-20-20共有41个数字,所以是rand()%41-20;

需要注意的是,在运行以上代码之前最好设定一下:

srand(time(NULL));//用系统当前时间设置rand()随机序列种子,保证每次运行随机序列不一样 

c语言中生成某一范围的随机数_第1张图片

对于上面的程序来说,运行多次结果都是一样的,在这里都是

c语言中生成某一范围的随机数_第2张图片


但是如果添加了srand函数,注意:srand()函数添加一次就够了

c语言中生成某一范围的随机数_第3张图片

运行程序多次,每次得到的结果都是不一样的:

c语言中生成某一范围的随机数_第4张图片


但是如果srand函数添加了多次的话,就会发生这样的情

c语言中生成某一范围的随机数_第5张图片

c语言中生成某一范围的随机数_第6张图片

产生这种情况的原因应该是程序运行一次很快,那么用time取得的时间可以看成是一样的,所以循环中的每一步中的seed都是一样的,所以就会产生相同的随机数。

你可能感兴趣的:(c语言中生成某一范围的随机数)