1. 程式人生 > >C++—rand和srand的用法(簡單易懂版)—產生隨機數

C++—rand和srand的用法(簡單易懂版)—產生隨機數

每天進步一點點,目標距離縮小點

在C++中,可以使用rand()函式產生隨機數。(rand()函式的標頭檔案在<cstdlib>中)


如果想產生在一定範圍內的數,可以用取餘的方法獲得。

如想獲得0—100的數


同樣的道理,如果想獲得100-200之間的數


——————————————————————————————————————————————————

細心的讀者這時候就會發現一個問題

三次輸出的結果最後的兩位數分別是

41 , 67 , 34 , 00 , 69 

也就說明的一個現象,雖然說rand()產生的數是隨機數,但是這些是輸出的結果在定義之後是不會再變化了

也就是編譯器重新編譯後輸出的結果是相同的,請讀者自行嘗試。

如果這時候我們希望每次編譯後輸出的結果不相同,我們就需要利用到srand()函數了(標頭檔案也在<cstdlib>中)

——————————————————————————————————————————————————

在這之前,需要介紹另一個函式time()函式(標頭檔案在<ctime>中)

time(0)可以輸出一個與時間有關的數

在結合srand()函式即可產生真正的隨機數



相關推薦

C++—randsrand用法簡單易懂產生隨機數

每天進步一點點,目標距離縮小點在C++中,可以使用rand()函式產生隨機數。(rand()函式的標頭檔案在<cstdlib>中)如果想產生在一定範圍內的數,可以用取餘的方法獲得。如想獲得0—100的數同樣的道理,如果想獲得100-200之間的數—————————

C#字典Dictionary的用法注重效能

內容會持續更新,有錯誤的地方歡迎指正,謝謝! 前言 以鍵值對Dictionary<[key], [value]>形式存值,和雜湊表很像也是一種無序的結構。 要使用Dictionary,需要先匯入C#泛型名稱空間System.Collecti

壘骰子簡單易懂 藍橋杯

題目描述: 賭聖atm晚年迷戀上了壘骰子,就是把骰子一個壘在另一個上邊,不能歪歪扭扭,要壘成方柱體。  經過長期觀察,atm 發現了穩定骰子的奧祕:有些數字的面貼著會互相排斥! 我們先來規範一下骰子:1 的對面是 4,2 的對面是 5,3 的對面是 6。  假設有 m

【轉載】Java動態代理之JDK實現CGlib實現簡單易懂

      原文地址:http://www.cnblogs.com/ygj0930/p/6542259.html       一:代理模式(靜態代理)           代理模式是常用設計模式的一種,我們在軟體設計時常用的代理一般是指靜態代理,也就是在程式碼中顯式指定的

Java動態代理之JDK實現CGlib實現簡單易懂

原文地址:http://www.cnblogs.com/ygj0930/p/6542259.html 一:代理模式(靜態代理)           代理模式是常用設計模式的一種,我們在軟體設計時常用的代理一般是指靜態代理,也就是在程式碼中顯式指定的代理。      

C算法.第1卷,基礎、數據結構、排序搜索第三》pdf

line tom 排序 歸並 簡介 systems sys 計算 ans 下載地址:網盤下載 內容簡介 · · · · · · 《C算法》介紹了當今最重要的算法,共分3卷,《C算法(第1卷):基礎、數據結構、排序和摸索》是第1卷。第1卷分4部

簡單易懂詳細使用Spring MVC搭建Hello world

Spring MVC 服務流程圖 Spring MVC元件和流程 首先,在使用Spring MVC之前,我們要明確Spring MVC 是一種基於Servlet的技術,它提供了核心控制器DispatcherServlet和相關元件,而Spring MVC

深度剖析八大經典排序演算法—C++實現通俗易懂

內容會持續更新,有錯誤的地方歡迎指正,謝謝! 引言 需握各種排序和常用的資料結構的核心思想,並知道是以什麼樣的方式解決了什麼樣的問題。 該部落格的示例程式碼均以遞增排序為目的~ 學習建議:切忌看示例程式碼去理解演算法,而是理解演算法原理寫出程式碼,否

BFSDFS演算法原理通俗易懂

#include<cstdio>#include<cstring> #include<queue> #include<algorithm> using namespace std; const int maxn=100; bool vst[maxn][maxn]

用vue寫一個商城的上貨元件簡單易懂,50行js實現效果

0、結果放前面 加個Star後,fork下來。 然後在控制檯,先輸入npm install安裝依賴,再輸入npm run dev執行檢視效果 1、先列需求 一切開發都是基於需求做的,所以需求先行,根據需求設計功能。 需求如下: 上貨商品有多

C語言設計模式享元模式

【 宣告:版權所有,歡迎轉載,請勿用於商業用途。  聯絡信箱:feixiaoxing @163.com】    享元模式看上去有點玄乎,但是其實也沒有那麼複雜。我們還是用示例說話。比如說,大家在使用電腦的使用應該少不了使用WORD軟體。使用WORD呢, 那就少不了設定模板。

BFS廣搜DFS深搜演算法原理通俗易懂

DFS 演算法思想:一直往深處走,直到找到解或者走不下去為止BFS演算法DFS:使用棧儲存未被檢測的結點,結點按照深度優先的次序被訪問並依次被壓入棧中,並以相反的次序出棧進行新的檢測。BFS:使用佇列儲存未被檢測的結點。結點按照寬度優先的次序被訪問和進出佇列。框架:BFS#i

C語言設計模式觀察者模式

【 宣告:版權所有,歡迎轉載,請勿用於商業用途。  聯絡信箱:feixiaoxing @163.com】    觀察者模式可能是我們在軟體開發中使用得比較多的一種設計模式。為什麼這麼說?大家可以聽我一一到來。我們知道,在windows的軟體中,所有的界都是由視窗構成的。對話

電子書 C#高級編程第9.pdf

work 並發編程 桌面應用 href 驅動開發 靈活 交互 c# 電子 《C#高級編程(第9版):C# 5.0 & .NET 4.5.1 》由.NET專家的夢幻組合編寫,包含開發人員使用C#所需的所有內容。C#是編寫.NET應用程序的一種語言,本書適合於希望提高編

1014 C語言程序設計教程第三課後習題6.4

content += 教程 print ons ont c語言程序設計 lld cnblogs 題目描述 求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一個數字。 輸入 n 輸出 和 樣例輸入 5 樣例輸出 153 1 #include "stdio.h"

1013: C語言程序設計教程第三課後習題6.3

其中a是一個數字 blog += color turn sam c語言程序 [] c語言 題目描述 求Sn=a+aa+aaa+…+aa…aaa(有n個a)之值,其中a是一個數字。 例如:2+22+222+2222+22222(n=5),n由鍵盤輸入。 輸入 a 輸出 和 樣

1024: C語言程序設計教程第三課後習題7.3

c語言程序 print clas 程序 scanf col class pri printf 題目描述 求一個3×3矩陣對角線元素之和。 輸入 矩陣 輸出 主對角線 副對角線 元素和 樣例輸入 1 2 3 1 1 1 3 2 1 樣例輸出 3 7 1 #include

1046: C語言程序設計教程第三課後習題10.4

con n) 順序 調整 style char ++ 輸入數據 include 題目描述 有n個整數,使前面各數順序向後移m個位置,最後m個數變成前面m個數,見圖。寫一函數:實現以上功能,在主函數中輸入n個數和輸出調整後的n個數。 輸入 輸入數據的個數n n個整數 移動的位

c#高級編程第10源碼

高級編程 涵蓋 div ffffff 部署 cor windows 獲得 運算符 下載地址:網盤下載 Visual Studio 2015、ASP.NET Core 1.0和Universal Windows Platform的推出,為開發人員提供了使用C#創建應用程序

C#高級編程第九 知識點梳理

con 核心 不能 fine 開始 per 並行 依賴 並發 ---恢復內容開始--- 第二章 核心C# 2.7 命名空間可以使用別名,但是這樣做有什麽好處? 2.12 C#預處理器指令 #define DEBUG #if DEBUG   Console.WriteLi