tft每日頭條

 > 生活

 > c語言一個範圍内的随機數

c語言一個範圍内的随機數

生活 更新时间:2024-06-29 17:14:49
1. 随機數概述

編寫程序過程中,我們經常需要産生一些随機數。随機數在程序中分為兩種:

1. 真随機數:完全沒有規則,無法預測接下來要産生的數。

2. 僞随機數:通過一些預先設定好的規則産生不能簡單預測的數。

當然,我們在程序中使用的随機數主要是僞随機,一般場景下,僞随機數能夠滿足我們大部分的場景了。本篇文章給大家介紹下,如何在C語言中産生一個僞随機數。

僞随機數在C語言中産生分為兩個步驟:

1. 設置随機數種子。

2. 獲得随機數。

設置随機數種子和獲得随機數,我們需要使用兩個函數。srand 函數rand 函數。使用這兩個函數需要導入頭文件:#include <stdlib.h>

c語言一個範圍内的随機數(C語言随機數)1

2. srand 函數用法

設置随機數種子時,我們一般會用時間值作為種子。這是因為時間值一直都在變化。我們使用 time 函數獲得當前時間值,使用該函數需要先導入頭文件 #include <time.h>。

c語言一個範圍内的随機數(C語言随機數)2

打印出來的是一串數字,并不是我們常見的時間格式。Time 函數主要用于獲得從 1970 年 1 月 1日0時 0分0秒到現在經曆的秒數。時間一直在變,所以該函數可作為一直在改變的随機數種子。

所以,srand 函數的一個常用的用法就是:

c語言一個範圍内的随機數(C語言随機數)3

srand 的要求的參數是 unsigned int,所以需要将 time 函數返回的結果強制轉換成 unsigned int 類型。

3. rand 函數使用

設置好随機數種子,rand 函數就可以根據該值來産生随機數了。在 windows 的 vs 2019 平台上,默認該函數會産生一個 0 到 32767 之間的随機數。演示代碼如下:

c語言一個範圍内的随機數(C語言随機數)4

但是實際的場景是,我們希望産生一個指定範圍内的随機數。此時,我們可以讓随機産生數進行取餘運算符,折算成指定範圍。例如:我們要産生 1-100之間的随機數,可進行如下代碼編寫:

c語言一個範圍内的随機數(C語言随機數)5

1. rand() % 100 會産生一個 0-99之間的數字。

2. rand() % 100 1 會産生一個 1-100之間的數字、

4. 随機數使用案例

我們下面做一個練習,創建一個包含10個元素的數組,使用 for 循環産生 10 個 1-10之間的随機數存儲到數組中,并打印輸出。

c語言一個範圍内的随機數(C語言随機數)6

注意:随機數種子設置一次即可。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved