搜尋
首頁常見問題c語言如何隨機產生數字

C語言中可使用rand()函數來產生隨機數,可產生0到RAND_MAX(32767)之間的隨機整數,隨機數由隨機種子控制,可用srand()設定隨機數種子,預設隨機數種子為1;想產生1-100以內的隨機整數,需使用「rand() 0」。

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語言如何隨機產生數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具