隨機數

產生200個0-9之間的隨機數,實現方法是:使用rand函數對10求餘,首先生成一列0~9的隨機數保存 在數組中,然後統計其中每個數字出現的次數並打印,檢查這些數字的隨機性如何。隨機數在某些 場合(例如遊戲程序)是非常有用的,但是用計算機生成完全隨機的數卻不是那麼容易。計算機執 行每一條指令的結果都是確定的,沒有一條指令產生的是隨機數,調用C標準庫得到的隨機數其實 是僞隨機( Pseudorandom) 數,是用數學公式算出來的確定的數,只不過這些數看起來很隨機, 並且從統計意義上也很接近均勻分佈( Uniform Distribution) 的隨機數。

C標準庫中生成僞隨機數的是rand函數,使用這個函數需要包含頭文件stdlib.h,它沒有參數,返 回值是一個介於0和RAND_MAX之間的接近均勻分佈的整數。 RAND_MAX是該頭文件中定義的一個常 量,在不同的平臺上有不同的取值,但可以肯定它是一個非常大的整數。通常我們用到的隨機數是 限定在某個範圍之中的,例如0~9

#include <stdio.h>
#include <stdlib.h>
#define N 200
int a[N];
void gen_random(int data)
{
    int i = 0;
    for (i = 0; i < N; i++)
    {
        a[i] = rand() % data;
    }
}
void print_random()
{
    int i = 0;
    for (i = 0; i < N; i++)
    {
        printf("%d ", a[i]);
    }
    printf("\n");
}
int main(void)
{
    gen_random(10);
    print_random();
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章