c语言如何随机生成数字(指定范围随机数的生成)
【推薦教程:C語言教程】
在C語言中可以通過使用rand函數來生成隨機數。rand函數是按指定的順序來產生整數。但是C語言中產生的隨機并不是真正意義上的隨機有時候可以稱為偽隨機數。
使用 rand() 生成隨機數之前需要用隨機發生器的初始化函數 srand(unsigned seed)進行偽隨機數序列初始化,seed 又叫隨機種子,意思就是如果每次提供的 seed 是一樣的,那么每一輪生成的幾個隨機值也都是一樣的,因此叫偽隨機數,所以需要每次提供不同的 seed 值來達到完全的隨機.通常在C語言中我們使用時間函數time(null)來作為seed,因為時間值每秒都不同
例:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(1);
int i;
for (i = 0; i < 10; i++)
printf("%d, ", rand()%11);
}
登錄后復制
結果為:8, 9, 9, 1, 7, 5, 5, 10, 1, 0,
上述結果無論運行多少次都是這個結果,原因在于隨機種子seed為1
但是當我們把seed值換成time(null)情況就不一樣了
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL));
int i;
for (i = 0; i < 10; i++)
printf("%d, ", rand()%11);
}
登錄后復制
結果如下:6, 3, 4, 5, 5, 9, 8, 10, 10, 4
再點擊一下:6, 4, 2, 4, 3, 2, 5, 1, 2, 9
在這里由于time(null)的作用所以seed不斷的再變化即不斷的生成了新的隨機數
相關文章推薦:javascript中如何生成隨機數
總結:以上就是本篇文章的全部內容了,希望對大家有所幫助
以上就是c語言如何隨機生成數字的詳細內容,更多請關注風君子博客其它相關文章!
總結
以上是生活随笔為你收集整理的c语言如何随机生成数字(指定范围随机数的生成)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雷霆战机符文怎么获得
- 下一篇: apex英雄怎么切换武器